EHEMALIGER_IB Geschrieben 24. Februar 2003 Teilen Geschrieben 24. Februar 2003 Hallo ich sitze gerade an meiner Projektarbeit und habe folgendes Prob: Ich habe in Access ein Formular geschrieben in das der User eine Nr eingeben kann. Der VBA-Code verbindet sich nun über ODBC mit Oracle-Db, sucht den zu der Nummer passenden Datensatz heraus und spielt sie in meiner MDB in die Tabelle1. Nun möchte ich aber eine Hinweis ausgeben, wenn eine Nr mehrmals abgerufen wird. Vor dem Schreiben in Tabelle1 soll also gesucht werden, ob der Datensatz nicht schon vorhanden ist. Ich habe aber Probleme das in die SQL-Anweisung bzw VBA Code zu implementieren. Wie kann ich also meiner SQL-Anweisung in VBA ein Ergebnis zuweisen COUNT(*) FROM TABELLE1 WHERE EINDEUTIGENR=2222222 INTO HILFSTABELLE Das Problem liegt hier: IF HILFSTABELLE1.FELD1 = 0 THEN OK ELSE DATENSATZ VORHANDEN ENDIF Wie kann ich eine Lösung dafür finden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
The_red_one Geschrieben 24. Februar 2003 Teilen Geschrieben 24. Februar 2003 Du willst also doppelte Sätze finden? hmm.. Sortiere doch die Datensätze nach der Spalte in der die doppelten gefunden werden sollen und vergleiche immer den nächsten mit seinem Vorgänger Sind die gleich, schreibe beide in eine ander Tabelle weg. So mache ich das immer wenn es sich um Personalnummer etc. handelt (endeutige Nummer eben). Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
EHEMALIGER_IB Geschrieben 24. Februar 2003 Autor Teilen Geschrieben 24. Februar 2003 Danke, aber mittlerweile habe ich eine Lösung gefunden. Mein Kollege hatte mir 2 Vorschläge gemacht: Einmal über ADO.Connection einen Zeiger erstellen auf den man dann wie ein Array zugreifen kann. Das ist allerdings im Rahmen des Projektes zu umständlich, eignet sich eher für reine VB-EXEn. Ich habe einen Count über die eindeutige Nr. gemacht. Wenn der Satz also nur einmal drin ist erhalte ich eine 1, sonst ist er entweder gar nicht drin (0) oder merhmals >1. Jetzt lässt sich über den VBA-Befehl If Forms!test_temp!Expr1000 = "1" Then MsgBox "OK", vbOKOnly Else MsgBox "mehrmals", vbOKOnly End If darauf zugreifen und reagieren. Das Formular heisst in diesem Fall test_temp und das Feld mit dem Wert Expr1000. Das ist zwar nicht ganz elegant, aber der user bekommt davon eh nichts mit , es läuft alles im hintergrund. am besten wäre es natürlich im quelltext eine variable zu definieren z.b. DIM Ergebnis1 AS VARIANT und zu sagen SELECT COUNT(*) FROM TABELLE INTO Ergebnis1. Ob das überhaupt geht weiss ich aber nicht, hinbekommen tu ichs nicht... GRuss Ischte Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.