ich möchte in meiner Database Vorwahlen vom restlichen Teil der Telefonnummer mit einem Trenner (/) darstellen.
Da in meiner Database alle Telefonnummern als durchgängige Zahl (vom Datentyp varchar) abgelegt sind, habe ich mir eine kleine Update-Routine geschrieben:
Code: Alles auswählen
REM Determine database name
oDoc = thisComponent
sDatabaseName = Left( oDoc.Title, Len( oDoc.Title ) - 4 )
sPhoneNr = InputBox( "Bitte geben Sie die zu ersetzende Vorwal ein:", "Ersetze Vorwahl" )
iPhoneNrLen = Len( sPhoneNr )
sSQL = "SELECT ""Kundenbestand"".""Telefon_privat"" " &_
"FROM ""Kundenbestand"" " &_
"WHERE ""Kundenbestand"".""Telefon_privat"" " &_
"LIKE '%" & sPhoneNr & "%' "
oRowSet = createUnoService( "com.sun.star.sdb.RowSet" )
oRowSet.DataSourceName = sDatabaseName
oRowSet.CommandType = com.sun.star.sdb.CommandType.COMMAND
oRowSet.Command = sSQL
oRowSet.execute()
If Not isNull( oRowSet ) Then
Do While Not oRowSet.IsRowCountFinal
oRowSet.next()
sPhoneNr = oRowSet.getString( 1 )
'MsgBox( "Nummer vor der Änderung: " & sPhoneNr, 64, "Info" )
sPhoneNr = Left( sPhoneNr, iPhoneNrLen ) & "/" & Mid( sPhoneNr, iPhoneNrLen + 1 )
'MsgBox( "Nummer nach der Änderung: " & sPhoneNr, 64, "Info" )
oRowSet.updateString( 1, sPhoneNr )
oRowSet.updateRow()
Loop
End If
BASIC-Laufzeitfehler.
Es ist eine exception aufgetreten
Type:com.sun.star.sdbc.SQLException
Message: Fehler in der Funktionsfolge...
In der API steht zur funktion updateRow() folgende Beschreibung:
Irgendwie komm ich da infach nicht weiter....Description
updates the underlying database with the new contents of the current row. Cannot be called when on the insert row.


Please, give me some help!
Greetz,
Billy