To comment on the following update, log in, then open the issue: http://www.openoffice.org/issues/show_bug.cgi?id=74374 Issue #|74374 Summary|Basic Runtime error: method getDate is missing Component|Database access Version|OOo 2.1 Platform|All URL| OS/Version|Windows XP Status|UNCONFIRMED Status whiteboard| Keywords| Resolution| Issue type|DEFECT Priority|P3 Subcomponent|none Assigned to|dbaneedsconfirm Reported by|szodrow
------- Additional comments from [EMAIL PROTECTED] Fri Feb 9 11:07:41 +0000 2007 ------- I have a MySQL DB connected via ODBC. In a Basic macro I loop throught the result set. I want to read the a date column with Resultset.getDate but I get a runtime error: Basic Laufzeitfehler Eigenschaften oder Methode nicht gefunden In the following some more information and the code. I also have a problem with binding dates to the SQL statement, but there I could live with the workaround below. :-) Problem with dates, especially getDate in SQL Query The runtime error: Basic Laufzeitfehler Eigenschaften oder Methode nicht gefunden Sql Query (MySQL DB via ODBC 3.51.11 or 5.51.12): select /* EK Pos */ round(jp.GPREIS * if(jp.brutto_flag = 'Y', 1, (100 + r.val_double) /100), 2) PosPreis, j.orgnum as LiefRechNr, j.rdatum RechDatum, jp.gegenkto AufwKto, substr(jp.bezeichnung, 1, 30) as rText, j.gegenkonto Kreditor, j.vrenum as BelegNrCAO from JOURNAL j join JOURNALPOS jp on jp.vrenum = j.vrenum join REGISTRY r on r.mainkey = 'MAIN\\MWST' and r.name = jp.steuer_code where (j.quelle = 5 and j.quelle_sub <> 2) and j.bsumme <> 0 and jp.gpreis <> 0 -- and j.rdatum >= ? -- binding the date variable without formatting in SQL Statement makes problem. Is sent in german format, MySQL will not recognize as date and j.rdatum >= str_to_date(?, '%d.%m.%Y') -- binding the date variable without formatting makes problem and j.rdatum <= str_to_date(?, '%d.%m.%Y') order by BelegNrCAO access the Basic programm with the error Sub LiesEKPos (pDatumVon as date, pDatumBis as date) DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext") DataSource = DatabaseContext.getByName("Adressen") 'DBNameOO If Not DataSource.IsPasswordRequired Then Connection = DataSource.GetConnection("","") Else InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler") Connection = DataSource.ConnectWithCompletion(InteractionHandler) End If ' worksheet stuff Dim Doc As Object Dim Sheet As Object Dim Cell As Object 'MsgBox "Doc = StarDesktop.CurrentComponent " 'Doc = StarDesktop.CurrentComponent Doc = ThisComponent Sheet = Doc.Sheets.getByName("EkPos") ' Database stuff Dim ResultSet As Object Dim SQLText As String Dim resultCount as Integer Dim ColOffset as Integer Dim RowOffset as Integer Dim ErgebnisMonat as Integer ' EK Umsaetze SQLText = getNamedCellString ("SQLEKPos") Statement = Connection.PrepareStatement(SQLText) Statement.SetString(1, pDatumVon ) ' does not work with plain ? in SQLText, see workaround above Statement.SetString(2, pDatumBis ) ResultSet = Statement.executeQuery() ColOffset = -1 ErgebnisMonat = 0 RowOffset = 1 '+ pRow resultCount = 0 If Not IsNull(ResultSet) Then While ResultSet.next 'select /* EK Pos */ round(jp.GPREIS * if(jp.brutto_flag = 'Y', 1, (100 + r.val_double) /100), 2) PosPreis, 'j.orgnum as LiefRechNr, 'j.rdatum RechDatum, 'jp.gegenkto AufwKto, 'substr(jp.bezeichnung, 1, 30) as rText, 'j.gegenkonto Kreditor, 'j.vrenum as BelegNrCAO from JOURNAL j join JOURNALPOS jp on jp.vrenum = j.vrenum join REGISTRY r on r.mainkey = 'MAIN\\MWST' and r.name = jp.steuer_code where (j.quelle = 5 and j.quelle_sub <> 2) and j.bsumme <> 0 and jp.gpreis <> 0 and j.rdatum >= ? and j.rdatum <= ? order by BelegNrCAO Cell = Sheet.getCellByPosition(ColOffset + 1, resultCount + RowOffset) Cell.Value = ResultSet.getString(1) Cell = Sheet.getCellByPosition(ColOffset + 2, resultCount + RowOffset) Cell.String = ResultSet.getString(2) Cell = Sheet.getCellByPosition(ColOffset + 3, resultCount + RowOffset) MsgBox ResultSet.DBG_methods ' <- has a method getDate Cell.String = ResultSet.getDate(3) ' <- runtime error Cell = Sheet.getCellByPosition(ColOffset + 4, resultCount + RowOffset) Cell.Value = ResultSet.getString(4) Cell = Sheet.getCellByPosition(ColOffset + 5, resultCount + RowOffset) Cell.String = ResultSet.getString(5) Cell = Sheet.getCellByPosition(ColOffset + 6, resultCount + RowOffset) Cell.Value = ResultSet.getString(6) Cell = Sheet.getCellByPosition(ColOffset + 7, resultCount + RowOffset) Cell.Value = ResultSet.getString(7) resultCount = resultCount + 1 Wend End If Connection.close() End Sub --------------------------------------------------------------------- Please do not reply to this automatically generated notification from Issue Tracker. Please log onto the website and enter your comments. http://qa.openoffice.org/issue_handling/project_issues.html#notification --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]