vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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

ADO.NET / Datenbanken
DB ADO.NET ACCESS 2xDB->Analysis ->1xTable Result 
Autor: centory
Datum: 18.06.09 03:23

Hi,
bin jetzt schon ein wenig am verzweifeln, da mir der Umstieg von VB6 zu .Net doch einwenig noch schwer fällt.Trotz dicken welzern die ich mir zugelegt habe und seit Wochen schon Studiere.
Ich taste mich Stück für Stück immer näher ran, doch der Zeitaufwand ist enorm.

Ich habe 2 Datenbanken, die ich miteinander vergleichen will Funtioniert soweit ganz gut, wenn ich meine access datenbank darauf einstelle.
Problem bei der Sache ist ich kriege immer diese Fehlermeldung:

[u]Die von Ihnen vorgenommenen Änderungen an der Tabelle konnten nicht vorgenommen werden, da der Index, Primärschlüssel oder die Beziehung mehrfach vorkommende Werte enthalten würde. Ändern Sie die Daten in den Feldern, die gleiche Daten enthalten, entfernen Sie den Index, oder definieren Sie den Index neu, damit doppelte Einträge möglich sind, und versuchen Sie es erneut.

wenn ich die Werte in die Tabelle einfügen will.

  Dim dtPWC As DataTable = dsPWC.Tables("Service Paid")
        Dim dtEE As DataTable = dsEE.Tables("Employee")
        Dim dtBT As DataTable = dsBT.Tables("RESULT")
 
        For Each cRow_PWC As DataRow In dtPWC.Rows
            For Each cRow_EE As DataRow In dtEE.Rows
                If cRow_PWC![_Inv_First_Name] IsNot DBNull.Value Then
                    If cRow_PWC![_Inv_First_Name] = cRow_EE![First_Name] And _
                      cRow_PWC![_Inv_Last_Name] = cRow_EE![Last_Name] Then
 
                        'MessageBox.Show("Datengefunden")
 
                        Dim resultSQL As String = "INSERT INTO [T -" & _
                          "RESULT-REPORT] (ID, _CONTROL_NAME) VALUES (@id," & _
                          "@_CONTROL_NAME)"
                        Dim cmdAddResultName As New OleDbCommand(resultSQL, _
                        connBT)
                        cmdAddResultName.Parameters.Add("@id", _
                        OleDbType.Integer, 6, "ID")
                        cmdAddResultName.Parameters.Add("@_CONTROL_NAME", _
                        OleDbType.Boolean, 1, "_CONTROL_NAME")
                        daBT.InsertCommand = cmdAddResultName
 
                        Dim rw As DataRow = dtBT.NewRow()
                        rw("ID") = cRow_PWC!ID
                        rw("_CONTROL_NAME") = True
                        dtBT.Rows.Add(rw)
 
                        connBT.Open()
                        daBT.Update(dtBT) '<<<<----------FEHLER MELDUNG
                        connBT.Close()
 
 
                    ElseIf Not cRow_PWC![_Inv_First_Name] = _
                      cRow_EE![First_Name] And cRow_PWC![_Inv_Last_Name] = _
                      cRow_EE![Last_Name] Then
 
                        'MessageBox.Show("Keine übereinstimmenden Daten" & _
                          "gefunden")
 
                        Dim resultSQL As String = "INSERT INTO [T -" & _
                          "RESULT-REPORT] (ID, _CONTROL_NAME) VALUES (@id," & _
                          "@_CONTROL_NAME)"
                        Dim cmdAddResultName As New OleDbCommand(resultSQL, _
                        connBT)
                        cmdAddResultName.Parameters.Add("@id", _
                        OleDbType.Integer, 5, "ID")
                        cmdAddResultName.Parameters.Add("@_CONTROL_NAME", _
                        OleDbType.Boolean, 1, "_CONTROL_NAME")
                        daBT.InsertCommand = cmdAddResultName
 
                        Dim rw As DataRow = dtBT.NewRow()
                        rw("ID") = cRow_PWC!ID
                        rw("_CONTROL_NAME") = False
                        dtBT.Rows.Add(rw)
 
                        connBT.Open()
                        daBT.Update(dtBT)
                        connBT.Close()
                    End If
                End If
            Next
        Next
 
    End Sub
da es eof and bof nicht mehr gibt sitz ich nun da und............

es soll aus der ersten Datenbank nur geprüft werden, ob der mitarbeiter
existiert, dazu soll die bestehende mitarbeiter datenbank gefragt werden,
ob zu jeden in der DB1 hinterlegten vor-und nachname ein übereinstimmender eintrag in DB2 gefunden werden kann.
wenn einer gefunden wird dann soll dies einfach in einer Tabelle eingetragen werden mit VorgangsID und Ergebnis ja/nein.

eine der schleifen ist bestimmt überflüssig, oder falsch.
ich bin einfach blind und währe sehr dankbar über einen ratschlag.
ich versteh einfach nicht wie die doppellung zustande kommt.

DB1 Tabelle ist Indiziert

Vielen Dank im voraus
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DB ADO.NET ACCESS 2xDB->Analysis ->1xTable Result1.176centory18.06.09 03:23
Re: DB ADO.NET ACCESS 2xDB->Analysis ->1xTable Result623ModeratorFZelle18.06.09 10:02
Re: DB ADO.NET ACCESS 2xDB->Analysis ->1xTable Result591centory18.06.09 14:30
Re: DB ADO.NET ACCESS 2xDB->Analysis ->1xTable Result631ModeratorFZelle18.06.09 15:02
Re: DB ADO.NET ACCESS 2xDB->Analysis ->1xTable Result650centory18.06.09 15:21
Re: DB ADO.NET ACCESS 2xDB->Analysis ->1xTable Result618ModeratorFZelle18.06.09 16:32

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