luigi wrote:
mmmm,Io riesco ad inserirlo! Ma credo che sia più probabile che non
abbia capito il tuo problema, magari, potresti inviarmi l'intero file?
Ci do un'occhiata!

grazie :)
provo a spiegarmi meglio, la ricerca inserimento di campi senza apostrofo funziona, il problema si verifica quando si tenta di inserire/cercare stringhe che contengono apostrofi

Ps: Io ho la tua stessa versione di OpenOffice base ma la uso su
Linux(ubuntu).

mh, questo potrebbe cambiare le cose? aiuto.

Fammi sapere.

ecco la routine, in particolare quella che si occupa della ricerca:

Sub ricerca_cognome
on error goto fine:
Ctl=Dlg_0.getControl("txt_ricerca_cognome")
b=Ctl.text
'numero1=b
if b = "" then exit sub

ctl=Dlg_0.getControl("lista_pazienti")
conta=ctl.getitemcount
if conta > 0 then
        for i=0 to (conta + 1)
                ctl.removeitems(i,1)
        next i
end if

on error goto 0:
testo=""
if b<>"" then
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
        DataSource = DatabaseContext.getByName("GV")
        If Not DataSource.IsPasswordRequired Then
        Connection = DataSource.GetConnection("","")
        Else
InteractionHandler = createUnoService("com.sun.star.sdb.InteractionHandler")
        Connection = DataSource.ConnectWithCompletion(InteractionHandler)
        End If
        Statement = Connection.createStatement()
'underscore won't work for break this long long line, uff, leave this way (for now) comando="SELECT ""id_paziente"",""nome"",""cognome"",""anni"",""data_nascita"",""sesso"",""indirizzo"",""cap"",""comune"",""provincia"",""tel_abitazione"",""tel_lavoro"",""tel_cellulare"",""medico_ssn"",""cf"",""cra"",""n_identificativo"",""data_inserimento"" FROM ""anagrafica"" WHERE ( ( ""cognome"" like '"+b+"') )"
        
        ResultSet = Statement.executeQuery(comando)
        If Not IsNull(ResultSet) Then
        testo=""
                
        ctl=Dlg_0.getControl("lista_pazienti")
        conta=ctl.getitemcount
        if conta > 0 then
                for i=0 to conta
                        ctl.removeitems(i,1)
                next i
        end if
        contacodice=0
        While ResultSet.next and contacodice<100
        
        if contacodice<100 then
                Testo=""
                contacodice=contacodice + 1
                id_paziente=trim(ResultSet.getString(1))
                nome=TRIM(ResultSet.getString(2))
                cognome=TRIM(ResultSet.getString(3))
        anni=trim(ResultSet.getString(4))
                data_nascita=trim(ResultSet.getString(5))
                sesso=trim(ResultSet.getString(6))
                indirizzo=trim(ResultSet.getString(7))
                cap=trim(ResultSet.getString(8))
                comune=trim(ResultSet.getString(9))
                provincia=trim(ResultSet.getString(10))
                tel_abitazione=trim(ResultSet.getString(11))
                tel_lavoro=trim(ResultSet.getString(12))
                tel_cellulare=trim(ResultSet.getString(13))
                medico_ssn=trim(ResultSet.getString(14))
                cf=trim(ResultSet.getString(15))
                cra=trim(ResultSet.getString(16))
                n_identificativo=trim(ResultSet.getString(17))
                data_inserimento=trim(ResultSet.getString(18))
                                
                
Testo=Testo & " " & cognome & " " & nome & " " & data_nascita & " " & cf
                        
                Ctl=Dlg_0.getControl("lista_pazienti")
                Ctl.additem(testo,contacodice)
                codice1(contacodice)=id_paziente
                codice2(contacodice)=nome
                codice3(contacodice)=cognome
                codice4(contacodice)=anni
                codice5(contacodice)=data_nascita
                codice6(contacodice)=sesso
                codice7(contacodice)=indirizzo
                codice8(contacodice)=cap
                codice9(contacodice)=comune
                codice10(contacodice)=provincia
                codice11(contacodice)=tel_abitazione
                codice12(contacodice)=tel_lavoro
                codice13(contacodice)=tel_cellulare
                codice14(contacodice)=medico_ssn
                codice15(contacodice)=cf
                codice16(contacodice)=cra
                codice17(contacodice)=n_identificativo
                codice18(contacodice)=data_inserimento
        else
                contacodice=contacodice+1
        end if          
        Wend
        ctl.selectitempos(0,1)
        Ctl1=Dlg_0.getControl("txt_ricerca_cognome")
        nc_COGNOME = b
        ctl1.text=""
        End if
end if  
if testo="" then
        Testo=" non ancora registrato"
        Ctl=Dlg_0.getControl("lista_pazienti")
        Ctl.additem(testo,0)
        ctl.selectitempos(0,1)
        sino=MsgBox("Vuoi inserirlo adesso?",4)
        if  sino=6 then
                dialog_nuovo_paziente
        else
                Dlg_0.endexecute()
        end if
end if
if contacodice>100 then
msgbox("attenzione i cognomi trovati sono pi� di 100 deve effettuare la ricerca con i filtri, per ora.")
end if
fine:
End Sub

Ciao. Ps:Solo per curiosità, ma da dove hai ottenuto il mio indirizzo e-mail?
solo per curiosità, non preoccuparti, tanto cercherò di fare tutto il
possibile per aiutarti!:)

io veramente ho scritto alla mailing list ;)

Ciao.

Il giorno mer, 12/12/2007 alle 10.33 +0100, paolo scordo ha scritto:
cmd="SELECT ""id_cliente"",""cognome"",""nome"",""data_nascita"" FROM ""anagrafica"" WHERE ((""cognome"" like '"+txtbox.text+"'))"


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Rispondere a