Daten aus sqlDB in Acces kopieren

gander

Mitglied
Hallo leute,
bin gerade dabei mich im thema visual basic einzulesen.
Jetzt bin ich grad an folgendem dran:
ich will aus einer sql datenbank die daten in eine accessDB übertragen.
leider hab ich im internet noch nix hilfreiches geffunden. Könnt ihr mir da bitte weiter helfen?
ich weiß halt nicht richtig wie ich da anfangen soll.
Ich brauch dann ja zwei connections, und muss dann die daten iwie speichern und dann in access reins chreiben? wie stell ich das am geschicktesten an ?
 
Ok danke. Hab wohl die falschen suchbegriffe verwendet. Hab nämlich etwas lönger als 20 seknden gesucht :) aber ist genau das was ich gesucht hab, danke.
Den Code versteh ich ja und hab ich auch teilweise übernommen, aber bei mir kommt eine Fehlermeldung bei "If Not IsNothing(rs(i)) Then rsAc(i) = rs(i)". Da steht dann "die Eigenschaft "item" ist readonly"
Wie muss ich das machen das es doch funktioniert?
Hab das Problem gegooglet, aber leider wwieder nix richtiges gefunden, ausser das es was mit den Paramatern des Recorsets zu tun haben müsste oder?
"rsAc.Open(SqlAc, conAccess, 2, 2)" so sieht das bei mir grad aus und die zweite 2 steht, wenn ich es richtig verstanden habe, für "adLockPessimistic" also müsste das ja eigentlich gehen mit der Zeile wo er mir den Fehler bringt oder nicht?
Ich hab da ja nicht adLockReadOnly stehen?
 
ok also das Problem hat sich jetzt gelöst das war wei lich nach rsAc(i) kein ".value" hatte.
aber jetzt bringt er mir eine andere Felhermeldung.

das ist mein code:

Try
If rs.State = 1 Then rs.Close()

rs.Open(Sql, con)
If Not rs.EOF Then
rsAc.Open(SqlAc, conAccess, CursorTypeEnum.adOpenDynamic, LockTypeEnum.adLockOptimistic, 1)
While Not rs.EOF
rsAc.AddNew()
For i = 0 To rs.Fields.Count - 1
If Not IsNothing(rs(i)) Then rsAc(i).Value = rs(i)
Next
rs.MoveNext()
rsAc.Update()
End While
rsAc.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

und jetztz bringt er mir bei dem dickgedruckten den Fehler : "die argumente sind vom falschen typ, liegen auserhalb des gültigkeitsbereiches oder sind miteinander unvereinbar"

Was ist das jetztz****
 
Und an welcher Stelle wird die Exception ausgelöst?

PS: Es gibt einen Tag für Code, damit wird das ganze deutlich lesbarer. ;)
 
Try
If rs.State = 1 Then rs.Close()

rs.Open(Sql, con)
If Not rs.EOF Then
rsAc.Open(SqlAc, conAccess, CursorTypeEnum.adOpenDynamic, LockTypeEnum.adLockOptimistic, 1)
While Not rs.EOF
rsAc.AddNew()
For i = 0 To rs.Fields.Count - 1
If Not IsNothing(rs(i)) Then rsAc(i).Value = rs(i)
Next
rs.MoveNext()
rsAc.Update()
End While
rsAc.Close()
End If
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try

Beim dickgedruckten :) habs jetzt mal noch rot eingefärbt. also bei "rs.Open(Sql, con)"
da stimmt entweder was mit dem Recordset, mit dem sqlString oder mit der Connection nicht.
SQLString ist richtig. Connection eigentlich auch und beim recordset ... was kann man da schon falsch machn?
 
ahh mann so was blödes...
ich hab den Fehler:
Ich hab die ganze zeit mit einer OleDbConnection gearbeitet für den zugriff auf den SQL Server und für Access mit der ADODB.Connection und dass das nicht zusammen passt hätte man sich ja eigetnlich denken können. Hab jetzt beides auf ADODB umgeschrieben und ejtzt funktioneirt es :)
Vielen dank stupidboy für deine Hilfe, das hat mir echt weiter geholfen, wei gesagt ich hab da ewig lang rum gegoogelt und nix dazu gefunden gehabt
 

Neue Beiträge

Zurück