inserire un campo di ricerca in un formulario

Discussioni sulle caratteristiche di database
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: inserire un campo di ricerca in un formulario

Messaggio da turi »

Mi da questo errore
Operazione non supportata
Chiamata di procedura non valida.

Esattamente in questa riga:

Codice: Seleziona tutto

sCognome=MID(str,1,pos)
:oops:
OpenOffice.org 3.3.0 su windows 7 e windows XP
giannidalmi
Messaggi: 62
Iscritto il: lunedì 21 febbraio 2011, 7:00

Re: inserire un campo di ricerca in un formulario

Messaggio da giannidalmi »

ne ho ancora dimenticato un pezzo
la variabile 'str' era una variabile che avevo meso per prova devi sostituirla con la variabile 'sCognome_nome'

Codice: Seleziona tutto

SUB trova(oEv)
dim oModel as object
dim oForm as object
dim ctl_cognome_nome as object
dim sCognome_nome as string
dim sCognome as string
dim sNome as sring
dim pos as integer

oModel = oEv.Source.Model
oForm=oModel.Parent
ctl_cognome_nome =oForm.GetByName("ricerca")
sCognome_nome =ctl_cognome_nome.text
pos= Instr(sCognome_nome ," ")                           ' trova la posizione dello spazio 
sCognome= MID(sCognome_nome,1,pos)               'trova le lettere dall'inizio allo spazio
sNome=MID(sCognome_nome,pos+1,len(sCognome_nome))         'trova le lettere dallo spazio alla fine

   msgbox pos
   msgbox sCognome
   msgbox sNome

oForm.Filter = " (""librosoci"".""cognome"") LIKE '%" & sCognome & "%'  AND  (""librosoci"".""nome"") LIKE '%" & sNome & "%' "
oForm.reload()
end sub


riproviamo

se vuoi evitare che quando il cognome ha uno spazio (Della Valle) ci siano problemi puoi separare il cognome dal nome con una ',' (Della Valle, Guido) e poi fargli cercare la ',' dalla funzione instr > pos= Instr(sCognome_nome , ",")

ciao
open office 3.2.1
window 7
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: inserire un campo di ricerca in un formulario

Messaggio da turi »

ok non da più nessun errore ma...

se per esempio cerco Rossi Mario mi apre la finestrella dove c'è solo OK con: un numero che va da 0 a 9 clicco ok e mi da rossi clicco ok e mi da mario...
E non filtra nulla, non lo trova, e in più non trova più nessun record e devo chiudere e riaprire il formulario :)
OpenOffice.org 3.3.0 su windows 7 e windows XP
perruj
Messaggi: 1
Iscritto il: venerdì 25 marzo 2011, 12:06

Re: case sensitive

Messaggio da perruj »

utonto_medio ha scritto:come rendere la ricerca non "case sensitive" (quindi che mi trovi quella parola indipendentemente dall'uso di maiuscole e minuscole
modifica la riga del filtro della macro così:

Codice: Seleziona tutto

oForm.Filter = " ( LCASE(""clienti"".""nome"") LIKE LCASE('%" & sTestoPerRicerca & "%' ))"

Ciao,
ho provato a modificare la mia riga con questa soluzione che avevi postato tempo fa, ma non mi funziona..hai per caso altri suggerimenti??
openOffice 3.32 windows XP
vladko
Messaggi: 1637
Iscritto il: martedì 3 agosto 2010, 8:02

Re: inserire un campo di ricerca in un formulario

Messaggio da vladko »

@perruj
forse che potrebbe essere una soluzione cambiare tipo campo di "clienti.nome" da VARCHAR a VARCHAR_IGNORECASE?
AOO 3.4.1 AOO341m1(Build:9593) Linux Mint Debian/Mate 64bit java 1.6.0.22 XP PRO/32bit
con Base --> sempre backup!!!
Se problema è Risolto --> Inserire [Risolto]nel titolo come spiega qui, grazie :-)
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: inserire un campo di ricerca in un formulario

Messaggio da turi »

gianni non ti viene in mente nulla per risolvere il problema della ricerca del cognome e nome?
OpenOffice.org 3.3.0 su windows 7 e windows XP
caygri
Messaggi: 6
Iscritto il: martedì 15 marzo 2011, 9:29

Re: inserire un campo di ricerca in un formulario

Messaggio da caygri »

ciao io non ho capito come creare il macro e dare le impostazioni.... :oops:

devo effettuare ricerche richiedente e comune
OpenOffice 3.1 su Windows Vista / Windows Xp
giannidalmi
Messaggi: 62
Iscritto il: lunedì 21 febbraio 2011, 7:00

Re: inserire un campo di ricerca in un formulario

Messaggio da giannidalmi »

Salve a tutti
ho preparato un lavoretto che metto in allegato
vedete un pò se vi può essere utile
ci sono più possibilità
scegliete quella che vi serve di più e... miglioratela
buon lavoro
Allegati
filtradb.odb
(29.24 KiB) Scaricato 465 volte
open office 3.2.1
window 7
turi
Messaggi: 154
Iscritto il: sabato 4 dicembre 2010, 15:34

Re: inserire un campo di ricerca in un formulario

Messaggio da turi »

Bel lavoretto, un solo problema... non funziona se la macro la inserisco a "tasto premuto", ma funziona solo su "Testo Modificato".
In particolare, se lo uso in "Tasto premuto" mi cerca i cognomi e dopo la Virgola solo i nomi. Non li unisce in un unico record, Cognome + Nome. ;)
Sai come potrei risolvere?
OpenOffice.org 3.3.0 su windows 7 e windows XP
dandosan
Messaggi: 3
Iscritto il: lunedì 14 novembre 2011, 22:17

Re: inserire un campo di ricerca in un formulario

Messaggio da dandosan »

Molto ben fatto e funziona anche a me!
Pero mi serviva ancora una cosa leggermente diversa.

Nella tabella principale (in cui devo fare la ricerca per cognome del cliente) non ho il cognome, ma ho solo l' IDCliente.
Quindi dovrei fare la ricerca in maniera che la stringa sia uguale all cognome del cliente nella tabella clienti,
e da quella ricavare l IdCliente e fare poi un filtro non sul Cognome ma sull' IdCliente appena trovato sulla
tabella principale. E possibile?
Openoffice 3.3 su Windows XP
Rispondi