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, 2369 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 ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Microsoft Office
Access 2013 - Beispiel für mehrfach Update und Insert (2)

Frage von evolution zum Thema Microsoft Office ...

Datenbanken
gelöst Datensatz hinzufügen, nicht überschreiben Access (19)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Microsoft Office
gelöst ACCESS Prüfen ob IP Adresse in IP Range vorhanden (6)

Frage von thomas1972 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

Microsoft Office
Keine Updates für Office 2016 (11)

Frage von Motte990 zum Thema Microsoft Office ...