MS Office Access, prüfen ob wert in einer anderen tabelle vorhanden
Hallo
Ich habe ein Insert Into Programm geschrieben, dass die Werte vom Formular x (basierend auf die Tabelle x) in die Tabelle gesamt überträgt, funktioniert einwandfrei
nun möchte ich aber, wenn ein gewisser Wert schon vergeben ist, dass das Programm eine MsgBox mit "Bereits Vorhanden" ausgibt
Das eindeutige Feld in der Tabelle x heißt "Muster_Nr", in der Tabelle gesamt "Musternummer"
Habe es mit dieser Methode probiert:
auch habe ich diese Methode probiert:
Funktionieren beide nicht..
Jemand Tipps bzw kann mir jemand helfen?
Danke im Voraus
lg
Ich habe ein Insert Into Programm geschrieben, dass die Werte vom Formular x (basierend auf die Tabelle x) in die Tabelle gesamt überträgt, funktioniert einwandfrei
nun möchte ich aber, wenn ein gewisser Wert schon vergeben ist, dass das Programm eine MsgBox mit "Bereits Vorhanden" ausgibt
Das eindeutige Feld in der Tabelle x heißt "Muster_Nr", in der Tabelle gesamt "Musternummer"
Habe es mit dieser Methode probiert:
If DCount("[Muster_Nr]", "x" = Forms!gesamt!Musternummer) Then
MsgBox "Bereits Vorhanden"
Else
DoCmd.RunSQL "INSERT INTO gesamt...
End If
If DCount("*","gesamt", Musternummer='" & Me!Muster_Nr & "'") > 0 Then
MsgBox "Bereits Vorhanden", vbOKOnly, "Achtung!"
Else
DoCmd.RunSQL "INSERT INTO gesamt...
End If
Jemand Tipps bzw kann mir jemand helfen?
Danke im Voraus
lg
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 243844
Url: https://administrator.de/contentid/243844
Ausgedruckt am: 26.11.2024 um 12:11 Uhr
11 Kommentare
Neuester Kommentar
Moin,
Die richtige Variante für DCount lautet:
http://office.microsoft.com/de-de/access-help/dcount-funktion-HA0012288 ...
wenn die Spalte "Musternummer" im Zahlenformat angelegt ist, darfst du keine einfachen Anführungszeichen um den Wert setzen, ansonsten schon.
Grüße Uwe
Die richtige Variante für DCount lautet:
DCount("[Musternummer]","gesamt","[Musternummer] = " & Me!Muster_Nr)
wenn die Spalte "Musternummer" im Zahlenformat angelegt ist, darfst du keine einfachen Anführungszeichen um den Wert setzen, ansonsten schon.
Grüße Uwe
Bei Angabe von Formulartextfeldern solltest du immer zwischen "Value" und "Text" unterscheiden (das kann einen Unterschied machen!) deshalb gebe mal Text als abzufragende Eigenschaft an.
Wenn die Spalte Musternummer als Zahl formatiert ist so:
Wenn Leerzeichen in Musternummer vorkommen können und das Feld bzw. Spalte im Textformat ist, muss es natürlich so aussehen:
Wenn die Spalte Musternummer als Zahl formatiert ist so:
If DCount("[Musternummer]", "gesamt", "[Musternummer] = " & Me.Muster_Nr.Text) > 0 Then
MsgBox "Schon vergeben"
Else
DoCmd.RunSQL "INSERT INTO gesamt...
End If
If DCount("[Musternummer]", "gesamt", "[Musternummer] = '" & Me.Muster_Nr.Text & "'") > 0 Then
MsgBox "Schon vergeben"
Else
DoCmd.RunSQL "INSERT INTO gesamt...
End If
also ungefär so?
Private Sub check_lks_vorhhanden()
If DCount("*", "test_id" & Me.Test.Text & "' AND lks_id'" & Me.Kunde.Text & "'") > 0 Then
MsgBox "Schon vergeben"
Else
MsgBox "Gibt es noch nicht"
'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;"
End If
End Sub
bitte in deinem Thread posten, merci ...
If DCount("*", "sys_lks_noten","[test_id] = '" & Me.Test.Text & "' AND [lks_id] = '" & Me.Kunde.Text & "'") > 0 then
....
....
End if