Telefonino.net network
 
| 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 » |

Torna indietro   WinTricks Forum > Software > Programmazione

Notices

Rispondi
 
Strumenti discussione
Vecchio 24-07-2001, 11.36.41   #1
pina
Junior Member
 
Registrato: 26-03-2001
Messaggi: 129
pina promette bene
Ho un problemino con il pulsante ricerca:
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
pina non è collegato   Rispondi citando
Vecchio 25-07-2001, 21.52.16   #2
Liam
Senior Member
 
L'avatar di Liam
 
Registrato: 24-03-2001
Loc.: Firenze
Messaggi: 205
Liam promette bene
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
Liam non è collegato   Rispondi citando
Vecchio 28-07-2001, 12.01.54   #3
pina
Junior Member
 
Registrato: 26-03-2001
Messaggi: 129
pina promette bene
Scusa la mia ignoranza, ma tutto questo codice dove devo inserirlo? All'interno del pulsante ricerca? Grazie!
pina non è collegato   Rispondi citando
Vecchio 28-07-2001, 13.19.39   #4
Liam
Senior Member
 
L'avatar di Liam
 
Registrato: 24-03-2001
Loc.: Firenze
Messaggi: 205
Liam promette bene
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
Liam non è collegato   Rispondi citando
Vecchio 29-07-2001, 13.23.13   #5
Liam
Senior Member
 
L'avatar di Liam
 
Registrato: 24-03-2001
Loc.: Firenze
Messaggi: 205
Liam promette bene
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
___________________________________

The TeQuiLa Group
Liam non è collegato   Rispondi citando
Vecchio 30-07-2001, 10.58.27   #6
pina
Junior Member
 
Registrato: 26-03-2001
Messaggi: 129
pina promette bene
fuori dove?
pina non è collegato   Rispondi citando
Vecchio 30-07-2001, 13.13.32   #7
Liam
Senior Member
 
L'avatar di Liam
 
Registrato: 24-03-2001
Loc.: Firenze
Messaggi: 205
Liam promette bene
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
___________________________________

The TeQuiLa Group
Liam non è collegato   Rispondi citando
Vecchio 31-07-2001, 19.35.01   #8
pina
Junior Member
 
Registrato: 26-03-2001
Messaggi: 129
pina promette bene
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!
pina non è collegato   Rispondi citando
Rispondi


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is ON
Gli smilies sono ON
[IMG] è ON
Il codice HTML è OFF

Vai al forum

Orario GMT +2. Ora sono le: 08.35.42.


E' vietata la riproduzione, anche solo in parte, di contenuti e grafica.
Copyright © 1999-2017 Edizioni Master S.p.A. p.iva: 02105820787 • Tutti i diritti sono riservati
L'editore NON si assume nessuna responsabilità dei contenuti pubblicati sul forum in quanto redatti direttamente dagli utenti.
Questi ultimi sono responsabili dei contenuti da loro riportati nelle discussioni del forum
Powered by vBulletin - 2010 Copyright © Jelsoft Enterprises Limited.