Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Access 2013 - Nach Auswahl von Dropdown prüfen on Datensatz bereits existiert

Frage Microsoft Microsoft Office

Mitglied: evolution

evolution (Level 1) - Jetzt verbinden

05.11.2014, aktualisiert 14:57 Uhr, 2620 Aufrufe, 9 Kommentare

Hallo,

ich hab mal eine Frage. Ich habe eine Eingabemaske in Access. Hier gibt es unter anderem 2 Auswahlfelder (Dropdown).
1. DD = Name (Name der Person ID)
2. DD = Test (Name der LK, die geschrieben wurde ID)

Jetzt würde gerne bei Auswahl automatisch prüfen, ob es bereits einen Datensatz in der Tabelle hierfür gibt. Man wählt den Namen und dann den Test. Dann soll die Prüfung erfolgen und ggfls. einen Meldung erfolgen.
Die Meldung sollte nach Möglichkeit keine Message-Box sein, da man die ja immer wegdrücken muss. Hatte mir vorgestellt, dass man ein Textfeld irgendwo daneben einblendet.. Wenn das geht.

Kann mir hier jemand helfen oder einen Ansatz geben. Vielen Dank im Voraus.
Mitglied: colinardo
05.11.2014, aktualisiert um 11:34 Uhr
Hi,
die DCount()-Funktion kannst du dafür verwenden.Hatten wir hier schon mal:
MS Office Access, prüfen ob wert in einer anderen tabelle vorhanden

Grüße Uwe
Bitte warten ..
Mitglied: evolution
05.11.2014 um 13:19 Uhr
Ok.. jetzt hab ich den richtigen Thread..

Ich hab es jetzt als Ereignis (bei Focusverlust - da ich nicht wusste was nach Auswahl ist) gemacht und bekomme eine Fehlermeldung:
Laufzeitfehler 2158
Sie können auf die Eigenschaften einer Methode oder eines Steuerelements nur verweisen, wenn das Steuerelement den Focus hat.
Damit kann ich leider absolut nichts anfangen..

01.
Private Sub Test_LostFocus() 
02.
'If DCount("*", "Datenbank", "test_id" & Me.Test.Text & "' AND lks_id'" & Me.Kunde.Text & "'") > 0 Then 
03.
    If DCount("*", "sys_lks_noten", "[test_id] = '" & Me.Test.Text & "' AND [lks_kunden_id] = '" & Me.Kunde.Text & "'") > 0 Then 
04.
       MsgBox "Schon vergeben" 
05.
    Else 
06.
       MsgBox "Gibt es noch nicht" 
07.
       'Cmd.RunSQL "INSERT INTO sys_lks_noten ( kunden_id, test_id, punkte, max_punkte, datum ) SELECT [Formulare]![lks_erfassen]![ID] AS Ausdr1, [Formulare]![lks_erfassen]![Test] AS Ausdr2, [Formulare]![lks_erfassen]![Punkte] AS Ausdr3, [Formulare]![lks_erfassen]![erreichbare_punkte] AS Ausdr4, [Formulare]![lks_erfassen]![Datum] AS Ausdr5;" 
08.
    End If 
09.
End Sub 
10.
 
Bitte warten ..
Mitglied: colinardo
LÖSUNG 05.11.2014, aktualisiert um 14:58 Uhr
melde mich gleich nochmal, hier ist das Internet tot .... Die Bauarbeiter auf der Strasse haben ganze Arbeit geleistet, na prima Kabel durch
Für heut ist Feierabend ...

Verwende statt der .Text Eigenschaft die .Value Eigenschaft der Dropdown-Felder und das _Change Event der Dropdownfelder.
Bitte warten ..
Mitglied: evolution
05.11.2014 um 14:13 Uhr
Dann bekomme ich den Fehler 3464. Datentypenkonflikt in Kriterienausdruck

If DCount("*", "sys_lks_noten", "[test_id] = '" & Me.Test.Value & "' AND [kunden_id] = '" & Me.Kunde.Value & "'") > 0 Then
Bitte warten ..
Mitglied: colinardo
05.11.2014, aktualisiert um 14:29 Uhr
Du musst ja auch die Datentypen der Dropdowns (gebundene Spalte) und der Spalten in deiner Tabelle prüfen. Diese müssen übereinstimmen. D.h. wenn du auf eine Zahl prüfst darfst du im Kriterienausdruck keine Hochkommata verwenden, da diese Text kennzeichnen.

Ich lade die später mal eine DemoDB hoch, bin jetzt leider nur noch via langsamer GSM-Verbindung online.

Also bis später, wenn die das Kabel heute noch geflickt bekommen
Bitte warten ..
Mitglied: evolution
05.11.2014, aktualisiert um 14:44 Uhr
Super.. Vielen Dank!
jetzt geht es auch, wenn ich die Hochkomma lösche.

Allerdings ist das nur meine halbe Frage.. In dieser Version bekomme ich ha eine MsgBox angezeigt, die ich wegklicken muss..
Ich hätte gerne neben dem Feld nur einen Hinweis. Also quasi ein Textfeld, das immer eingeblendet wird, ohne dass der Nutzer was was bestätigen soll.
Es ist ja nur ein Check, ob schon vorhanden.. Danach muss man ja noch Punkte, und anderer Felder eingeben und dann erst speichern..
Bitte warten ..
Mitglied: colinardo
LÖSUNG 05.11.2014, aktualisiert um 14:57 Uhr
Kein Problem, du legst dir z.B. ein zusätzliches Textfeld mit dem Namen txtMeldung an. Dann machst du folgendes um den Text in dem Textfeld zu setzen:
01.
Me.txtMeldung.Value = "Es wurde kein Eintrag gefunden ..."
feddich. Der Phantasie sind da keine Grenzen gesetzt :-.)
Bitte warten ..
Mitglied: evolution
05.11.2014 um 14:57 Uhr
Super.. Genau das war es was ich gesucht habe.. Vielen Dank!!!
Bitte warten ..
Ähnliche Inhalte
Microsoft Office
gelöst Probleme beim Aufrug von Google Maps aus einem MS-ACCESS 2013 Formular (9)

Frage von CADastrophe zum Thema Microsoft Office ...

Batch & Shell
Batch, CMD - Prüfen ob ein Dienst existiert, nicht läuft (4)

Frage von RycoDePsyco zum Thema Batch & Shell ...

Exchange Server
Outlook Web Access auf IP Adresse beschränken (6)

Frage von touro411 zum Thema Exchange Server ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (16)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (16)

Frage von Static zum Thema CMS ...

LAN, WAN, Wireless
IP im privaten Netz nicht erreichbar (14)

Frage von guntis zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
Devolo DLAN 500 pro Wireless+ (13)

Frage von IceAge zum Thema LAN, WAN, Wireless ...