PDA

Vollständige Version anzeigen : Doppelte Datensätze anspringen


Stevens1
05.12.2000, 07:15
Hallo allerseits,

ich habe ein Problem mit doppelten Datensätzen. In einem Formular habe ich das Feld 'Familienname'. Zu diesem Feld habe ich folgenden Code eingegeben (nach Aktualisierung):


Private Sub Familienname_AfterUpdate()

Dim strNachname As String
Dim strSQL As String
Dim lngAnz As Long
Dim I As Integer
Dim strMsg As String

Dim db As Database
Dim rs As Recordset

On Error Resume Next
strNachname = Me.Familienname
If Err <> 0 Then
Beep
Exit Sub
End If

strSQL = "select * from frmPersonendaten where Familienname = '" & strNachname & "'"
Set db = CurrentDb()
Set rs = db.OpenRecordset(strSQL, dbOpenSnapshot)

Err = 0
rs.MoveLast
If Err <> 0 Then
rs.Close
Exit Sub
End If

lngAnz = rs.RecordCount
rs.MoveFirst

'Doppelte Datensätze vorhanden

strMsg = "Folgende Datensätze sind bereits zum Familiennamen schon vorhanden!" + vbCrLf + vbCrLf

For I = 1 To lngAnz
strMsg = strMsg & rs("Familienname") & ", " & rs("Vorname") & " in " & rs("Ort") & vbCrLf
rs.MoveNext
Next I

rs.Close
Beep
MsgBox strMsg, vbOKOnly + vbInformation, "Hinweis:"

End Sub


Jetzt möchte ich aber nicht, daß mir die doppelten Datensätze in einer Message-Box erscheinen, sondern in einem Listenfeld, wo ich dann gleich auf den entsprechenden Datensatz springen kann, bzw. das weiterbearbeiten möglich ist.

Ich hoffe ihr wisst eine Antwort, weil ich an dem Problem bald meinen letzten Nerv verlier.

Danke
Daniel

andreas67
05.12.2000, 13:40
Hallo Daniel!

Aus meiner Sicht könntest du das Ergebnis
deiner Abfrage in eine neue Tabelle übertragen und als Quelle für dein Listenfeld
einfach diese "Temp-" Tabelle nehmen.

Oder du stellst die Eigenschaft RowSourceType auf "Wertliste" und fügst, getrennt durch ein ; jeden Datensatz der
Abfrage hintereinander mit einer Schleife an das Listenfeld an.

Viel Glück!

Stevens1
05.12.2000, 15:17
Hallo Andreas,

danke für Deinen Tip. Darauf bin ich auch schon gekommen, aber leider muß ich auf eine Datenbank zugreifen, die ich nicht ändern kann.

Ich es irgendwie möglich, die Daten zwischenzuspeichern und dann in das Listenfeld einzufügen?

Vielen Dank schon im voraus.

Daniel

Maverick
20.03.2001, 17:01
Ich habe eine Beispiel DB mit der man doppelte Datensätze bei der Eingabe auf doppelte prüft und diese in separatem Formular als Liste angezeigt bekommt. Bei Interesse Mail an mich

Mailto: kschultz333@aol.com

Liebe Grüsse Klaus