Domino 9 und frühere Versionen > ND6: Entwicklung

dynamischer Export zu Access

<< < (4/5) > >>

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