Cmando "TROVA" in Access 2003 . (non FIltro , Ma Ricerca )

venerdì 17 gennaio 2014 - 11.53
Tag Elenco Tags  Access (.mdb)

leoobelix Profilo | Newbie

altro problema di questo benedetto database , anzi 3 .

1) problema

maschera conitnua gestione ordini
ID,Oridine ,cliente etc...

Casella di testo non associata , con filtro per le ricerche fino qui tutto ok

Devo trovare un sistema per usare comando trova (non filtro ) per :

dopo aver inserito nella casella di testo il dato
mi vada :
A) posizionarsi ul primo record che rispetta il criterio ,
B) mostri sempre tutti i record sia quelli prima che quelli dopo .
C) eventualmente con la funzione Next ( gestita con il Pagdown) per andare al secondo record della ricerca

provato con questa stringa :
Set rs = Me.Recordset.Clone
'rs.FindFirst "[tabella oridini].[ordine numero] = " & Text68.Value & "*'"

o con :
'strSql = "SELECT * FROM [Tabella oridini] WHERE [ordine numero] ='" & Text68.Value & "'"
'Form_gestioneprodotto.RecordSource = strSql

errore !

2) problema

capita la funzione "TROVA" in access 2003
devo far trovare il prossimo record dello "STESSO" campo con valore nullo
(in poche parole che salti la riga successiva trovando il primo campo vuoto )

3) problema
fastidioso per aver gia ricevuto 4 chiamate questa mattina dai miei colleghi

vai ultimo record :
usato Me.RecordsetClone.MoveLast
Me.Bookmark = Me.RecordsetClone.Bookmark

funziona perfettamente , ma l'effettovisivo non piace .
Quando si apre la maschera continua va all'ultimo record ma posizionandolo
sulla prima riga e sotto l'utente non vede nessun altro dato ., Basta usare lo scrollo
per ripopolare la maschera . ( semplice ) ma ....... (cosi non sembra quando le persone
non sanno usare il pc )
esiste qualche sistema "trucchetto " per farsi che in apertura si vada ultimo record
ma questo sia posizionato su ultima riga , oppure nonso ... ultimo record - 20
in modo da avereun effetto di maschera piena.

grazie ancora !

renarig Profilo | Expert

Un po complicato da spiegare ( ammesso che abbia capito il problema )

Vedi se la demo riproduce la situazione

Facci sapere

leoobelix Profilo | Newbie



in questi due giorni mi metto al lavoro e faccio un po di test .

quando apro il tuo demo mi da questo errore :

ti posto immagine .


892x147 38Kb

renarig Profilo | Expert

> ....... mi da questo errore ........
Sarà perche lo ho fatto con Access2013 e convertito poi in Access2003
pero ho fatto il Download a mia volta e lo ho testato sul 2003, funziona

Comunque questo lo ho ricostruito dall'inizio con il 2003

.


leoobelix Profilo | Newbie

direi come sempre che sei prefetto

Gestione del Trova va bene , adesso sto valudando come modificarlo
in quanto con "=" mi cerca solo i record esattamente uguali
eventualmente faccio una seconda parte con cui poi passa a "LIKE"
(se non trova niente nella prima parte e cosi mi va in ricerca parziale )


Sul gestione del valore nullo , credo di aver capito che devo dare un
valore di default al campo nullo , altrimenti access non trova
(qui uso lo stesso modello del "Trova" ma imposto una costante
invece della variabile come campo di ricerca )

consiglio :

attualmente questo sistema di ricerca "TROVA" lavora solo su un campo
ma se con lo stesso sistema :

1 casella di testo
va a cercare su 2 o 3 campi diversi ?

dal tuo esempio la struttura sarebbe :

Inizio : Campo A ,usa ricerca "="
se non trovi
Campo B usa ricerca "'="
se non trovi
Campo A usa ricerca "like"
se non trovi
Campo B usa ricerca "like "
esci

concetto va bene oppure sto dicendo una grande cavolata ??

grazie ancora poi ci sentiamo alla prossima puntata , qui di gestione degli errori c'e' ne
sono almeno per 2/3 anni .

renarig Profilo | Expert

>concetto va bene oppure sto dicendo una grande cavolata ??
Sostanzialmente va bene.
è un po complicato ma del resto se devi cercare su più campi verificando la corrispondenza piena e anche il like ....

Valuta questa alternativa:

- hai la tua tabella

- ti fai 1 query fisica con un campo calcolato che prende il criterio dalla tua casella di testo non associata nella maschera

- Il campo calcolato restituisce la somma fra:
--- nulla se nulla corrisponde
--- 1 se corrisponde il campo 1
--- 2 se corrisponde il campo 2
--- 10 se lika il campo 1
--- 20 se lika il campo 2
quindi puoi avere questi valori possibili: 1, 2, 3, 10, 20, 30, 12, 21,

poi la ricerca la lanci solo su 1 campo........


Certo che la ricerca in se stessa sarebbe piu facile, ma nell'insieme è tutto piu complesso
non saprei dirti cosa conviene.....







leoobelix Profilo | Newbie

penso che sia la cosa migliore fare le cose semplici

il comando trova lo lascio comehai fatto tu che va bene
e metto una combo che seleziona il campo
in modo che utente in base a quello che sceglie avra il trova nella giusta direzione.

ti mando un messaggio su un altro post "quello di estrarre il testo "
ho un problema con una stringa che ci arriva da un nuovo cliente

alcune volte il campo ZIP code : non c''e . nel senso che non e' vuoto
manca proprio la parte ZIP code (testo) . ....."non lo invia dal suo database
se la nazione non lo possiede . questo manda in errore il sistema .

come posso dire che se non esiste salta a telefono ?

grazie ancora .
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5