Domino 9 und frühere Versionen > ND6: Entwicklung
dynamischer Export zu Access
Anfaenger:
Guten Morgen euch allen..
Vielen Dank für die vielen nützlichen Tipps.
jetzt hab ich es endlich mal geschafft, dass der Fehler nicht gleich beim ersten View kommt, sondern erst beim 15., aber leider schreibt mein Agent pro View nur noch 1 Zeile rein.
Ich hab mir mal gedacht, ich posgte mal wieder den Code, damit ihr ungefähr wisst, wie das so momentan aussieht.
Code:
Sub fill(Conn As String, view As NotesView, tabll As String,maxcol As Integer)
Dim con As New ODBCConnection
Dim qry As New ODBCQuery
Dim result As New ODBCResultSet
Dim colname As String
Dim entry As NotesViewEntry
Dim vwNav As NotesViewNavigator
Dim table As String
On Error Goto Fehler
'hier wird die Verbindung geöffnet
If Not con.ConnectTo( Conn ) Then
Messagebox "Could not connect to: " & Conn
Exit Sub
End If
con.AutoCommit=True 'bei False wird leider nichts geschriebne, deswegen <True>
Set qry.Connection = con
Set vwnav= view.createViewnav()
Set entry=vwnav.GetFirstDocument
i=0
'hier wird der Pfad zusammengestückelt
While Not(entry Is Nothing)
table="INSERT INTO " & tabll & " VALUES "
table=table & "('"
For j=0 To maxcol
colname=Trim(Cstr(entry.ColumnValues(j)))
If colname="" Then colname="N/A"
If j=0 Then
table=table & colname & "'"
Else
table=table & ",'" & colname & "'"
End If
Next j
table=table & ")"
Set entry = vwnav.getnextdocument(entry)
qry.SQL=table
Wend
'hier wird reingeschrieben
con.CommitTransactions
Set result.Query=qry
result.Execute 'hier gibts beim ca. 15.View den Fehler <could not complete the requested operation.(720)>
result.close(DB_CLOSE)
con.Disconnect
Exit Sub
Fehler:
Messagebox "|Fehler in FillDB.fill |" & Error$ & "(" & Cstr(Err) & ") in Zeile: " & Cstr(Erl)
End Sub
Ralf_M_Petter:
Na ja das mit jeder Tabelle nur 1 Satz glaube ich relativ klar. Dir fehlt ein ; zwischen den SQL Statements. Ich würde trotzdem nicht alle Insert Into in ein Statement reinschreiben, sondern würde es eventuell in 10er Blöcken abarbeiten. Eventuell ist deine 15te view so groß, dass du an irgendein SQL Limit stosst.
Grüße
Ralf
Anfaenger:
Guten Morgen alle miteinander..
Ich hatte es ja mal noch so, dass es überall was reingeschrieben hat, aber vielleicht gibt es dort so große Probleme mit Access, weil das nur noch Number-Felder anlegt. Wer weiss.
Danke für den Tipp mit denn ";", hat nur leider net so funktionert wie es sollte. Liegt wohl an den Nummerfeldern in Access, weil die Zahlen Heaxadez.zahlen sind dort jetzt um einiges größer geworden...
Wünsch euch allen nen schönen angenehmen Tag,
Axel
Anfaenger:
Hab mich jetzt mal endlich wieder dahinter getraut, aber leider weiss ich immer noch nicht, wie ich mehrere Zeilen auf einmal über SQL in die AccessDB reinbekomme. Schaffe das leider immer noch nur mit einer Zeile..
z.b.
qry.SQL=INSERT INTO Name VALUES ('ich', 'du', 'er')
wie muss das denn aussehen, dass ich dort ne zweite Zeile mitreinbekomm?
Ich hoffe, ihr könnt mir da weiterhelfen..
Ralf_M_Petter:
Ohne Böse zu sein, aber ich habe dir diese Frage schon beantwortet. Falls Access Probleme hat mit mehreren SQL Statements in einem Query dann mache doch einfach jede Zeile in ein eigenes Query in einer Schleife. Dann funktioniert es sicher auch wenn es etwas langsamer ist.
Grüße
Ralf
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln