ich habe eine recht lange SQL Anweisung und würde diese gern in mehrere SQL Anweisungen splitten. Ist das möglich? Sonst verlier ich die Übersicht.
Ich hab versucht eine Datei zu importieren welche ich vorab mit dem FileControl auswähle. Leider geht das nicht. Es kommt immer ein Fehler und eine Dopplung des Pfads bei raus.
Es steht dann in der fehlermeldung: c:/tmp/C:/tmp/import01.csv konnte nicht geöffnet werden...
Ich habe gelesen dass es eine PROPERTY allow_full_path geben soll. Wo und wie baue ich die ein? Hat das schon mal jemand gemacht ?
Hier mal mein risen CODE
Code: Alles auswählen
Sub base_insertCSVdatafile
Dim Dialog3 As Object
Dim Dateiname as String
Dim dlgDateiName as Object
DialogLibraries.LoadLibrary("DBImportF4Bib")
Dialog3 = CreateUnoDialog(DialogLibraries.DBImportF4Bib.Dialog3)
Select Case Dialog3.Execute()
Case 1
dlgDateiName=Dialog3.getControl("FileControl1")
Dateiname=dlgDateiName.GetText()
msgbox Dateiname
If Dateiname ="" then
msgbox "Nichts gewaehlt!"
else
sCSVlokal = "01.csv"
GlobalScope.BasicLibraries.LoadLibrary( "Tools" )
sCSVdatei = ConvertToURL( Dateiname )
sMyInsert = "DELETE FROM ""adressenimport"" WHERE ""ID"" > 0 ALTER TABLE ""adressenimport"" ALTER COLUMN ""ID"" RESTART WITH 1 CREATE TEXT TABLE ""TableCSV"" (""Kundennr.""VARCHAR(255),""Vorwahl""VARCHAR(255),""Rufnummer""VARCHAR(255),""Anrede""VARCHAR(255),""Titel""VARCHAR(255),""Vorname""VARCHAR(255),""Name""VARCHAR(255),""Namensergänzung""VARCHAR(255),""Str.""VARCHAR(255),""Hausnr.""VARCHAR(255),""PLZ""VARCHAR(255),""Ort""VARCHAR(255),""E-Mail""VARCHAR(255),""Notiz1""VARCHAR(255),""Notiz2""VARCHAR(255),""Update""VARCHAR(255),""Kundennr.1""VARCHAR(255),""Vorwahl1""VARCHAR(255),""Rufnummer1""VARCHAR(255),""Anrede1""VARCHAR(255),""Titel1""VARCHAR(255),""Vorname1""VARCHAR(255),""Name1""VARCHAR(255),""Namensergänzung1""VARCHAR(255),""Str.1""VARCHAR(255),""Hausnr.1""VARCHAR(255),""PLZ1""VARCHAR(255),""Ort1""VARCHAR(255),""E-Mail1""VARCHAR(255),""Notiz11""VARCHAR(255),""Notiz12""VARCHAR(255)) SET TABLE ""TableCSV"" SOURCE ""'"& sCSVdatei &"';fs=,;encoding=ISO-8859-1"" SET PROPERTY ""TableCSV.allow_full_path""true INSERT INTO ""adressenimport"" (""Kundennr."",""Vorwahl"",""Rufnummer"",""Anrede"",""Titel"",""Vorname"",""Name"",""Namensergänzung"",""Str."", ""Hausnr."",""PLZ"",""Ort"",""E-Mail"",""Notiz1"",""Notiz2"",""Update"",""Kundennr.1"",""Vorwahl1"",""Rufnummer1"",""Anrede1"",""Titel1"",""Vorname1"",""Name1"",""Namensergänzung1"",""Str.1"",""Hausnr.1"",""PLZ1"",""Ort1"",""E-Mail1"",""Notiz11"",""Notiz12"") SELECT ""Kundennr."",""Vorwahl"",""Rufnummer"",""Anrede"",""Titel"",""Vorname"",""Name"",""Namensergänzung"",""Str."", ""Hausnr."",""PLZ"",""Ort"",""E-Mail"",""Notiz1"",""Notiz2"",""Update"",""Kundennr.1"",""Vorwahl1"",""Rufnummer1"",""Anrede1"",""Titel1"",""Vorname1"",""Name1"",""Namensergänzung1"",""Str.1"",""Hausnr.1"",""PLZ1"",""Ort1"",""E-Mail1"",""Notiz11"",""Notiz12"" FROM ""TableCSV"" commit drop table ""TableCSV"""
msgbox sMyInsert
' Kontext holen
Dim oDBKontext
oDBKontext = CreateUnoService ( "com.sun.star.sdb.DatabaseContext" )
If IsNull( oDBKontext ) Then
msgbox "kein DB Kontext"
exit sub
End If
' Datenquelle auswählen
' name of OOo registered data source
oDatenquelle = oDBKontext.getByName( "DBImportF4" )
' Verbindung zur DB herstellen
If Not oDatenquelle.IsPasswordRequired Then
oVerbindung = oDatenquelle.getConnection("" ,"" )
Else
oInteractionHandler = createUnoService( "com.sun.star.sdb.InteractionHandler" )
oVerbindung = oDatenquelle.connectWithCompletion( oInteractionHandler )
End If
' Statement erzeugen
oStatement = oVerbindung.createStatement
' Abfrage absetzen
oResultSet = oStatement.executeUpdate( sMyInsert )
EndIF
Case 0
End Select
Dialog3.dispose()
End Sub