vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Re: Löschen von Doppelten Einträgen 
Autor: manyki
Datum: 23.01.04 02:51

Hallo,

wenn ich Dich richtig verstanden habe, willst Du überprüfen ob doppelte Einträge vorhanden sind, ohne vorher zu wissen welche doppelt da sein könnten. Wenn doppelt, dann löschen. Das geht meiner Meinung nach nur mit 2 Schleifen, die 2 Recordsets durchlaufen. Hier habe ich mal was mit Ado. Mit Dao kenn ich mich nicht aus:
 
Private Sub Command1_Click()
Dim sName As String
Dim Rs1 As New ADODB.Recordset
Dim sSQLDel As String

sSQL = "SELECT AdrNr, Name FROM Adressen ORDER BY Name"

Set Rs = New ADODB.Recordset
Set Rs1 = New ADODB.Recordset

With Rs
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.ActiveConnection = Cn
.Open sSQL
End With
With Rs1
.CursorLocation = adUseClient
.LockType = adLockOptimistic
.ActiveConnection = Cn
.Open sSQL
End With

Do While Not Rs.EOF '1.Rs durchlaufen
sName = RTrim(Rs.Fields("Name").Value)

If Rs1.RecordCount = Rs.AbsolutePosition Then
Exit Do
End If

'Pos. des Records aus Rs1 einen unter den aus Rs setzen
Rs1.AbsolutePosition = Rs.AbsolutePosition + 1

Do While Not Rs1.EOF '2. Rs durchlaufen u. nach sName vergleichen
If RTrim(Rs1.Fields("Name").Value) = sName Then

'SQL-String erstellen
sSQLDel = "DELETE FROM Adressen WHERE Name = '" & _
sName & "' AND AdrNr = " & Rs1.Fields("AdrNr").Value

Rs1.Delete 'aus Rs1 löschen
Cn.Execute sSQLDel 'tatsächlich aus Tabelle löschen
End If
Rs1.MoveNext 'nächsten Record aus Rs1
Loop
Rs.MoveNext 'nächsten Record aus Rs
Loop

End Sub
 

Gru? aus dem Norden
manyki

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Löschen von Doppelten Einträgen1.700Zero-G.22.01.04 15:03
Re: Löschen von Doppelten Einträgen1.040Prian081522.01.04 15:40
Re: Löschen von Doppelten Einträgen996Zero-G.22.01.04 16:20
Re: Löschen von Doppelten Einträgen1.226manyki23.01.04 02:51
Re: Löschen von Doppelten Einträgen988manyki23.01.04 02:54
Re: Löschen von Doppelten Einträgen974Zero-G.24.01.04 12:20
Re: Löschen von Doppelten Einträgen1.029Prian081523.01.04 13:04
Re: Löschen von Doppelten Einträgen937devnull23.01.04 13:26
Re: Löschen von Doppelten Einträgen1.070Prian081523.01.04 14:03
Re: Löschen von Doppelten Einträgen995Zero-G.24.01.04 12:20
Re: Löschen von Doppelten Einträgen1.005manyki24.01.04 15:07
Re: Löschen von Doppelten Einträgen1.006devnull24.01.04 17:22
Re: Löschen von Doppelten Einträgen998manyki24.01.04 17:34
SQL Statement zum finden von doppelten Einträgen1.125Snoopy24.01.04 14:23
Re: SQL Statement zum finden von doppelten Einträgen995manyki24.01.04 15:10
Re: SQL Statement zum finden von doppelten Einträgen1.188CarpeDiem04.12.04 21:24
Re: SQL Statement zum finden von doppelten Einträgen882CarpeDiem07.04.06 21:28
Re: SQL Statement zum finden von doppelten Einträgen902Snoopy07.04.06 22:08
Re: SQL Statement zum finden von doppelten Einträgen885CarpeDiem07.04.06 22:34
Re: SQL Statement zum finden von doppelten Einträgen846Snoopy07.04.06 22:45
Re: SQL Statement zum finden von doppelten Einträgen878CarpeDiem07.04.06 23:16
Re: SQL Statement zum finden von doppelten Einträgen819Snoopy08.04.06 10:00
Re: SQL Statement zum finden von doppelten Einträgen831CarpeDiem08.04.06 11:12
Re: SQL Statement zum finden von doppelten Einträgen842Snoopy08.04.06 14:31
Re: SQL Statement zum finden von doppelten Einträgen827CarpeDiem08.04.06 18:22
Re: SQL Statement zum finden von doppelten Einträgen888CarpeDiem09.04.06 20:42
Re: Löschen von Doppelten Einträgen866CarpeDiem07.04.06 22:58

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel