Stephan hat geschrieben:... nur heißt eben syntaxkompatibel nicht ...
... ach ja, Stephan - daß Du aber auch immer noch Deinen Senf drunterschmieren mußt!
Die Ursprungsfrage von Luke78 war unmißverständlich: nämlich wie aufwendig eine Umwandlung von Access in OO Datenbanken mit hohem VBA Anteil sind.
Dein Schlauschwatz, daß nämlich STAR-BASIC zu VBA doch syntaxkompatibel aber es die APIs wiederum nicht sind, läuft doch auf die wesentliche Aussage hinaus: die Programme sind eben
NICHT kompatibel, Punkt!
Fein, daß Du dann auch noch zur Verdeutlichung die API-Referenz verlinkst: Nichts von dem, was man dort liest findet man in irgendwelchen ACCESS-Programmen ... Fazit: man muß aufwendig umprogrammieren - und nur das wollte Luke78 wissen!
Ach ja, da war ja noch was:
Code: Alles auswählen
x = ThisComponent.Sheets.getByName("Tabelle1").getCellRangeByName("A1:A10").FormulaLocal
... was hat'n das mit Datenbanken zu tun? Dieser Ausdruck liest lediglich einen Zellbereich einer Tabellenkalkulation aus. Du meinst woll, weil in Tabellenkalkulation das Wort "Tabelle" vorkommt, hätte das was mit "Datenbank" zu tun

!
Jetzt zeige ich Dir mal den Unterschied zwischen den Code-Varianten
Erst mal VBA:
Code: Alles auswählen
IDNr = 1
Criteria = "ID = " & IDNr
Set mDB = CurrentDb
Set mRST = mDB.OpenRecordset("Meine Datenbank", dbOpenDynaset)
mRST.FindFirst Criteria
If mRST.NoMatch Then
MsgBox "Ident-Nr " & CStr(IDNr) & " nicht gefunden!", vbOKOnly + vbCritical, "Suchergebnis"
Else
MsgBox "Ident-Nr " & CStr(IDNr) & " ist vorhanden", vbOKOnly + VbInformation, "Suchergebnis"
End If
mRST.Close
Set mRST = Nothing
Set mDB = Nothing
Das gleiche jetzt mal in STAR-BASIC:
Code: Alles auswählen
IDNr = 1
sSQL = "SELECT ID FROM ""Meine Datenbank""" WHERE ID = " & CStr(IDNr) & ";"
If ThisComponent.ImplementationName = "SwXTextDocument" Then
oDataSource = ThisComponent.Parent.CurrentController
Else
oDataSource = ThisComponent.CurrentController
Endif
If NOT (oDataSource.isConnected()) Then oDataSource.connect()
oConnection = oDataSource.ActiveConnection()
resultSet = oConnection.executeQuery(sSQL)
resultSet.Next
LastRec = resultSet.isLast
If LastRec = FALSE Then
MsgBox "Ident-Nr " & CStr(IDNr) & " nicht gefunden!", MB_OK + MB_ICONSTOP, "Suchergebnis"
Else
MsgBox "Ident-Nr " & CStr(IDNr) & " ist vorhanden", MB_OK + MB_ICONINFORMATION, "Suchergebnis"
EndIf
oConnection.dispose
Beide Codes machen das gleiche - aber außer der MsgBox (und selbst die hat noch unterschiedliche Konstanten) ist aber auch so GARNICHTS vergleichbar, gelle?
Gruß:
ejomi
[quote="Stephan"]... nur heißt eben syntaxkompatibel nicht ...[/quote]
... ach ja, Stephan - daß Du aber auch immer noch Deinen Senf drunterschmieren mußt!
Die Ursprungsfrage von Luke78 war unmißverständlich: nämlich wie aufwendig eine Umwandlung von Access in OO Datenbanken mit hohem VBA Anteil sind.
Dein Schlauschwatz, daß nämlich STAR-BASIC zu VBA doch syntaxkompatibel aber es die APIs wiederum nicht sind, läuft doch auf die wesentliche Aussage hinaus: die Programme sind eben [b]NICHT[/b] kompatibel, Punkt!
Fein, daß Du dann auch noch zur Verdeutlichung die API-Referenz verlinkst: Nichts von dem, was man dort liest findet man in irgendwelchen ACCESS-Programmen ... Fazit: man muß aufwendig umprogrammieren - und nur das wollte Luke78 wissen!
Ach ja, da war ja noch was:
[code]x = ThisComponent.Sheets.getByName("Tabelle1").getCellRangeByName("A1:A10").FormulaLocal[/code]
... was hat'n das mit Datenbanken zu tun? Dieser Ausdruck liest lediglich einen Zellbereich einer Tabellenkalkulation aus. Du meinst woll, weil in Tabellenkalkulation das Wort "Tabelle" vorkommt, hätte das was mit "Datenbank" zu tun :lol:!
Jetzt zeige ich Dir mal den Unterschied zwischen den Code-Varianten
Erst mal VBA:
[code]IDNr = 1
Criteria = "ID = " & IDNr
Set mDB = CurrentDb
Set mRST = mDB.OpenRecordset("Meine Datenbank", dbOpenDynaset)
mRST.FindFirst Criteria
If mRST.NoMatch Then
MsgBox "Ident-Nr " & CStr(IDNr) & " nicht gefunden!", vbOKOnly + vbCritical, "Suchergebnis"
Else
MsgBox "Ident-Nr " & CStr(IDNr) & " ist vorhanden", vbOKOnly + VbInformation, "Suchergebnis"
End If
mRST.Close
Set mRST = Nothing
Set mDB = Nothing[/code]
Das gleiche jetzt mal in STAR-BASIC:
[code]
IDNr = 1
sSQL = "SELECT ID FROM ""Meine Datenbank""" WHERE ID = " & CStr(IDNr) & ";"
If ThisComponent.ImplementationName = "SwXTextDocument" Then
oDataSource = ThisComponent.Parent.CurrentController
Else
oDataSource = ThisComponent.CurrentController
Endif
If NOT (oDataSource.isConnected()) Then oDataSource.connect()
oConnection = oDataSource.ActiveConnection()
resultSet = oConnection.executeQuery(sSQL)
resultSet.Next
LastRec = resultSet.isLast
If LastRec = FALSE Then
MsgBox "Ident-Nr " & CStr(IDNr) & " nicht gefunden!", MB_OK + MB_ICONSTOP, "Suchergebnis"
Else
MsgBox "Ident-Nr " & CStr(IDNr) & " ist vorhanden", MB_OK + MB_ICONINFORMATION, "Suchergebnis"
EndIf
oConnection.dispose[/code]
Beide Codes machen das gleiche - aber außer der MsgBox (und selbst die hat noch unterschiedliche Konstanten) ist aber auch so GARNICHTS vergleichbar, gelle?
Gruß:
ejomi