wie man mit ADO ein XLSx , ohne Excel, lesen kann hab ich hier beschrieben viewtopic.php?f=16&t=11657&p=134652
nun wollte ich den umgekehrten Weg gehen und mit ADO ein XLSx erzeugen.
ich habe versuch mit CREATE TABLE ein XLSx zu erzeugen aber das funktioniert "so" nicht.
dann fand ich heraus das ich erst eine "Table" im "Catalog" erzeugen muss ... ähnlich wie bei PostgreSQL
Code: Alles auswählen
oConnect := CreateObject( "ADODB.Connection" )
oCatalog := CreateObject( "ADOX.Catalog" )
oTable := CreateObject( "ADOX.Table" )
FOR ii := 1 TO iMax
cField := aStructure[ ii ] [ DBS_NAME ]
cType := aStructure[ ii ] [ DBS_TYPE ]
oColumn := CreateObject( "ADOX.Column")
oColumn:Name := cField
DO CASE
CASE cType = "C" ; oColumn:Type := adVarWChar
CASE cType = "M" ; oColumn:Type := adLongVarWChar
CASE cType = "N" ; oColumn:Type := adDouble
CASE cType = "D" ; oColumn:Type := adDate
CASE cType = "L" ; oColumn:Type := adBoolean
ENDCASE
oTable:Columns:Append(oColumn)
NEXT
oCatalog:Tables:Append(oTable)
nun habe ich versucht mit ADO, wie in der Wissensbasis beschrieben, die XLSx wieder zu öffnen und bekomme das mir ist nicht klar was damit gemeint ist
ich habe die XLSx in Excel geöffnet, was angehängt und abgespeichert.
bei der XLSx Datei bekomme ich mit ADO trotzdem die selbe Meldung ...
wer hat eine Idee
ADO : https://www.microsoft.com/de-de/downloa ... x?id=13255
wer dann die Meldung bekommt "missing VCOMP1xx.DLL" braucht das
https://www.microsoft.com/de-DE/downloa ... x?id=48145
p.s. einiges ist anders in dem Code wie MsgInfo() -> MsgBox() oder DBORDERINFO( DBOI_KEYCOUNT )
weil aber activeX ist der Code zu 99% kompatible zu Xbase++