|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
24-07-2001, 10.36.41 | #1 |
Junior Member
Registrato: 26-03-2001
Messaggi: 129
|
Ecco il codice : Private Sub Ricerca_Click() 'ricerca un nome all'interno del database Dim nomedacercare As String nomedacercare = InputBox$("immettere il nome da cercare:", "ricerca nel database") If nomedacercare <> "" Then 'esegue la ricerca solo se è stato immesso un nome. Database.Recordset.Index = "nome" Database.Recordset.Seek "=", nomedacercare If Database.Recordset.NoMatch Then Database.Recordset.MoveFirst Database.Refresh 'il nome cercato non è stato trovato MsgBox "nome non trovato.", vbInformation, Me.Caption End If End If End Sub Sul pulsante ricerca clikkandoci mi apre la finetra x digitare il nome da cercare e fatto ok mi da il seguente errore errore di run-time 3015 'nome' non è un indice di questa tabella. esaminare l'insieme indexes dell'oggetto tavledef x determinare i nomi di indice validi e la riga di codice sbagliata è atabase.Recordset.Index = "nome" Su un database di Microsoft Jet, è stato richiamato il metodo Update o CancelUpdate ma prima di scrivere dati in un record non è stato utilizzato il metodo AddNew o Edit. Cosa devo fare? Grazie |
25-07-2001, 20.52.16 | #2 |
Senior Member
Registrato: 24-03-2001
Loc.: Firenze
Messaggi: 205
|
Ti premetto che non ho un'esperienza pluriennale con Ado e simili, però penso che il tuo problema sia che non hai creato prima l'indice. Un esempio potrebbe essere questo:
Dim tb as tabledef Dim id as index set tb = database.tabledefs("tabella") set id = tb.createindex("NomeIndice") 'poi devi scegliere i campi sui quali deve lavorare l'indice 'ad esempio id.createfield("Cognome") 'e così via poi accodi l'indice alla tabella tb.indexes.append id tb.indexes.refresh Dopo aver eseguito queste righe il tuo codice dovrebbe funzionare, ovviamente come database.index devi mettere in questo caso "NomeIndice". Spero di non aver dimenticato niente. Ciao ciao |
28-07-2001, 11.01.54 | #3 |
Junior Member
Registrato: 26-03-2001
Messaggi: 129
|
Scusa la mia ignoranza, ma tutto questo codice dove devo inserirlo? All'interno del pulsante ricerca? Grazie!
|
28-07-2001, 12.19.39 | #4 |
Senior Member
Registrato: 24-03-2001
Loc.: Firenze
Messaggi: 205
|
Puoi inserirlo sia nella routine del pulsante di ricerca che prima, la cosa più comoda forse è metterlo nella stessa routine dove ti sei creata il database e il recordset. Comunque la cosa importante è che quando premi il pulsante ricerca il codice sia già eseguito (o venga eseguito nella stessa routine, appunto) - scusa il giro di parole
|
29-07-2001, 12.23.13 | #5 |
Senior Member
Registrato: 24-03-2001
Loc.: Firenze
Messaggi: 205
|
Ah scusa di nuovo manca qualcosa nel codice: mi ero dimenticato di accodare il campo: la riga dove c'è scritto id.createfield("Cognome") sostituiscila con id.fields.append id.createfield("Cognome) sennò non funziona. Poi ripensandoci il codice forse è meglio che lo inserisci fuori dal pulsante di ricerca, altrimenti ti viene generato un errore che puoi intercettare.
Te l'avevo detto che ero un po' arrugginito Ciao ciao |
30-07-2001, 09.58.27 | #6 |
Junior Member
Registrato: 26-03-2001
Messaggi: 129
|
fuori dove?
|
30-07-2001, 12.13.32 | #7 |
Senior Member
Registrato: 24-03-2001
Loc.: Firenze
Messaggi: 205
|
Ad esempio in un modulo poi fai un tasto provvisorio "Crea Indice" lo esegui, poi non hai più bisogno di richiamare la funzione perchè l'indice viene accodato in maniera permanente al database.
Ciao ciao |
31-07-2001, 18.35.01 | #8 |
Junior Member
Registrato: 26-03-2001
Messaggi: 129
|
Sono disperata!!!
Questo è il codice x creare un indice su
2 campi della tabella ke si trova nel mio database: Dim tb As tabledef Dim id As Index Set tb = Database.tabledefs!tabella 'creazione indice Set id = tb.createindex("codiceindex") 'primo campo id.fields.append id.createfield("1campo") 'secondo campo id.fields.append id.createfield("2campo") 'accodamento dell'indice id nella definizione di tabella tb.indexes.append id tb.indexes.Refresh ma non mi funziona! Sono disperata! :-( L' errore me lo da nella prima riga! |
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|