Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

geschlossene Tabelle auf Datensatz prüfen

Begonnen von dobby110, September 06, 2022, 12:36:20

⏪ vorheriges - nächstes ⏩

dobby110

Hallo zusammen,

ich möchte mit dem folgenden Code bestimmte Werte aus meinem Formular in eine geschlossene Tabelle übertragen. Das funktioniert auch wie gewünscht.

'Dim rs As DAO.Recordset
'    Set rs = CurrentDb.OpenRecordset("tbl_Bewertungen")
'    rs.AddNew
'    rs![txt_Name_Ziel-Investment] = Me![txt_Name_Ziel-Investment]
'    rs![txt_ISIN_Investment] = Me![txt_ISIN_Investment]
'    rs![dec_Bewertung] = "0,00"
'    rs![dat_Kurs per] = Date
'    rs![txt_Grund_für_Update] = "Automatischer Eintrag - keine weiteren Updates"
'    rs.Update
'    rs.Close
'    Set rs = Nothing

Jetzt hätte ich folgende Frage:

Wie kann ich vor Ausführung des Codes prüfen lassen, ob die ISIN bereits in der Tabelle vorhanden ist?
Ich möchte den Eintrag nämlich nur dann vornehmen lassen, wenn es noch keinen Datensatz zu der ISIN gibt.
Mein Problem ist, dass die Tabelle nicht geöffnet ist und mein Wissen nicht ausreicht, den Code entsprechend umzugestalten.

Vorab vielen Dank

MzKlMu

Hallo,
ZitatWie kann ich vor Ausführung des Codes prüfen lassen,
Mit DCount zählen. >0 = vorhanden.
Gruß Klaus

ebs17

DCount wäre ein zweiter Zugriff auf die Tabelle. Ein Tabellenzugriff ist praktisch auch ein Öffnen, je nachdem, wie man sich das zurechtdefiniert.

Optimaler ist es, alles mit einem Zugriff zu erledigen, z.B.
Dim sSQL As String
' ...
sSQL = "SELECT [Feldliste] FROM tbl_Bewertungen WHERE txt_ISIN_Investment = '" & Me.txt_ISIN_Investment & "'"
Set rs = CurrentDb.OpenRecordset(sSQL, dbOpenDynaset)
With rs
   If .EOF Then
      .AddNew
      ' ... weiteres
   Else
      ' schon da
   End If
   .Close
End With
Mit freundlichem Glück Auf!

Eberhard