I think in my AndrewBase.odt document that I previously referenced, that I wrote a routine to put quotes around things so that they would appear inside the strings but I would have to go back and double check. But yes, I think you need to do that.
Get BlueMail for Android On Jan 26, 2023, 3:21 AM, at 3:21 AM, Harvey Nimmo <[email protected]> wrote: >Hi Robert, > >the thought occurs to me that the existing quotes within the SQL >statements may need their own treatment. The statements that work under >the LOBase Tools>SQL... function have different type of single >quotemarks for the column names (e.g. containing two separate words) or >the text to be set in the columns. I have assumed that the macro (SQL) >string variables just need to be enclosed in double quotemarks. Is this >right? > >Cheers >Harvey > > >On Wed, 2023-01-25 at 21:51 +0100, Robert Großkopf wrote: >> Hi Harvey, >> > >> > how would this work for me, where I only want to create a SQL >> > statement >> > as a string and execute it. >> >> Mcro works with SQL-code, which has been saved in a field of a table. >> Field in the table is called "SQL-Code". Table is datasource of a >> form. >> A button in this form will start the code. >> >> First needed object is executing a button in the form to start the >> procedure. >> >> If you will save all code directly in a macro you will need >> → a connection to the database >> → SQL code, which has been maskes with double doublequotes for >> fieldnames and tablenames >> → var for creating a statement >> → execute the sql-code in this created statement >> >> At which line of the macro the code stops for you? >> > > >> > > Here a code from German Base Handbuch: >> > > >> > > SUB ChangeData(oEvent AS OBJECT) >> > > DIM oConnection AS OBJECT >> > > DIM oForm AS OBJECT >> > > DIM stSql AS STRING >> > > DIM oSql_Statement AS OBJECT >> > > DIM inValue AS INTEGER >> > > oForm = oEvent.Source.Model.Parent >> > > oConnection = oForm.activeConnection() >> > > stSQL = oForm.getString(oForm.findColumn("SQL-Code")) >> > > inValue = MsgBox("Should SQL-Code" & CHR(13) & stSQL & CHR(13) >> > > & >> > > "be executed?", 20, "Execute SQL-Code") >> > > IF inValue = 6 THEN >> > > oSQL_Statement = oConnection.createStatement() >> > > oSQL_Statement.execute(stSql) >> > > END IF >> > > END SUB >> > > >> > > SQL-Code is part of a table. Field in the table is "SQL-Code". >> > > Table >> > > is >> > > datasource of a form. A button in this form will be enough to >> > > execute >> > > the macro. You coud update, insert or delete rows by command >> > > "execute". >> >> Regards >> >> Robert >> -- >> Homepage: https://www.familiegrosskopf.de/robert >> >> > > >-- >To unsubscribe e-mail to: [email protected] >Problems? >https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ >Posting guidelines + more: >https://wiki.documentfoundation.org/Netiquette >List archive: https://listarchives.libreoffice.org/global/users/ >Privacy Policy: https://www.documentfoundation.org/privacy -- To unsubscribe e-mail to: [email protected] Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/ Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette List archive: https://listarchives.libreoffice.org/global/users/ Privacy Policy: https://www.documentfoundation.org/privacy
