Newsgroup: it.comp.lang.visual-basic
Titolo: [Urgente] Problema con database MDB

Ciao a tutti,
ho un problema anche piuttosto urgente con l'utilizzo di un semplice
database MDB (una sola tabella).
Ho inserito nella form il datacontrol, due caselle di testo collegate ai
relativi campi "NumCliente" e "RagioneSociale" della tabella presente nel
databse.
E fin quà tutto ok, scorro i dati senza problemi con il Datacontrol
Poi ho aggiunto un bottone con il seguente codice:
Private Sub Command1_Click()
    prompt$ = "Inserisci il numero cliente da visualizzare."
    SearchStr$ = InputBox(prompt, "Ricerca numero cliente...")
    Data1.Recordset.Index = "NumCliente"
'********************************NON FUNZIONA PERCHE???
    'Data1.Recordset.Index = "RagioneSociale" '
**************************FUNZIONA
    Data1.Recordset.Seek "=", SearchStr$
    If Data1.Recordset.NoMatch Then
        Data1.Recordset.MoveFirst
    End If
End Sub
Con la stringa
Data1.Recordset.Index = "RagioneSociale" funziona e trova il record relativo
mentre con la stringa
Data1.Recordset.Index = "NumCliente" non funziona dicendomi che NumCliente
non è un indice di questa tabella - Errore '3015'
I due campi in questione hanno le stesse identiche caratteristiche l'unica
differenza è che il primo è lungo 3 caratteri mentre il secondo 50.
Spero in un vostro aiuto
Ringrazio tutti in anticipo.
Ciao da Emiliano

 secondo 50.
sono entrambe associati ad un indice (con o senza duplicati ammessi)?
--
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo


Ciao Sergio
Tutti e due i campi sono formato testo e appartengono alla tabella
AnagraficaClienti.
Le loro caratteristiche sono uguali:
Richiesto = "SI"
Lunghezza0 = "NO"
Indicizzato = "SI (Duplicati non ammessi)"
Compressione UNICODE = "SI"
IME MODE = "Nessun Controllo"
IME Sentence Mode = "Nessuna conversione"
Se vuoi ti mando i file, sono di una semplicità unica!
Ciao e grazie
Emiliano

 AnagraficaClienti.
grazie. ti ho chiesto questa precisazione perchè l'errore segnalato dal
sistema faceva sorgere il dubbio che solo "RagioneSociale" fosse associata
ad indice.
Non ho mai usato la funzione Seek, quindi non la conosco approfonditamente.
Mi sembra di ricordare che gli oggetti Data utilizzino Dao per connettersi
alla fonte dati, quindi il recordset dovrebbe supportare la funzione
FindFirst: prova a sostituire le riga
    Data1.Recordset.Seek "=", SearchStr$
con
    Data1.Recordset.FindFirst "RagioneSociale='" & replace(searchstring$,
"'", "''" & "'"
e vediamo se così funziona


 secondo 50.
Le caratteristiche dei campi nulla c'entrano col fatto che vi sia o meno un
indice per la tabella.
Verifica gli indici della tabella.
Con cosa? ... basta, la prossima volta che lo cito sarà per ... reclamare
dindini.

 Verifica gli indici della tabella.
emiliano afferma che entrambe i campi sono associati ad indice, verificato
guardando la stuttura della tabella in access.
se le cose stanno cosě, mi par di capire che non č sufficiente questo, ma
occorre che il campo sia chiave primaria, per effettuare il seek, giusto?


 il seek, giusto?
Non saprei. Pur usando DAO, non ho mai usato la Seek.
Credo comunque che la stessa accetti/contempli la definizione della
proprietà Index e quindi possa agire sull'indice "corrente", non
necessariamente quello con chiave primaria (Primary), nè, addirittura,
univoca (Unique).

 emiliano afferma che entrambe i campi sono associati ad indice,
Non ho letto questa affermazione...

 Non ho letto questa affermazione...
Mi riferisco al post in cui dice:
    Indicizzato = "SI (Duplicati non ammessi)"
per tutti e due i campi.
io interpreterei la proprietà "indicizzato" come "associato ad indice", dici
che non è così / non è *sempre* così?


 reclamare dindini.
L'hai sviluppato tu access?!?! <eg>
ghghgh...

 indice", dici che non è così / non è *sempre* così?
Mi era sfuggito.
Non mi fido mai di un applicativo (Ms Access?), preferisco verificare con
qualcosa supert-partes...
Persino con VisData, guardando gli indici.

 ghghgh...
Per carità... L'ho aperto qualche volta e mi basta vedere che parte della
finestra della struttura di una tabella sia fuori dal video per ...
accomodarmi in luoghi privati.


LOL