Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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, 2801 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
Datenbanken
Access Datenbank wie am einfachsten Datensätze aufbereiten (5)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

VB for Applications
gelöst Abhängige Dropdown Menüs in Excel (2)

Frage von Zentralenteufel zum Thema VB for Applications ...

Datenbanken
gelöst Access 2010 SQL Tabellen Datensätze einfügen (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Schwachstelle im WPA2 Protokoll veröffentlicht

(3)

Information von colinardo zum Thema LAN, WAN, Wireless ...

Heiß diskutierte Inhalte
Windows Server
gelöst Gruppenrichtlinie greift nicht zu! (19)

Frage von Syosse zum Thema Windows Server ...

Windows 7
gelöst Windows 7 Anmeldedomäne festlegen (13)

Frage von flotaut zum Thema Windows 7 ...

Windows Server
gelöst WSUS Updates auf iSCSI speichern (10)

Frage von lcer00 zum Thema Windows Server ...