Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - VBasic-Access
Forum - Visual Basic 6 - VBasic-Access

Avatar
jack1988 (Normal User)
Pro


Messaggi: 117
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 15:29
Mercoledì, 28/02/2007
Ciao, sn d nuovo Jack...ho un altro problema xò cn i database,in specifico x la ricerca d una parola...
Ho fatto il collegamento tra Database e visualBasic...Ho inserito i vari command,cm ad esempio,"AggiungiRecord","ModificaRecord",EliminaRecord", ora vorrei fare il commandbutton x la ricerca...cioè:
La ricerca mi deve trovare una parola...
Ad Es Database:
Parola(CampoDat):    Traduzione(CampoDat):
1)Open                 Aperto  
2)Close                Chiuso
(ecc. altre parole nei vari campi)

Allora la ricerca un volta trovata la parola mi deve visualizzare la sua traduzione in una textBox...

Capito?Si può fare?
Grazie Hacker!!!6 grande!!!:k:

PM Quote
Avatar
Hacker (Member)
Guru


Messaggi: 1014
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 16:15
Mercoledì, 28/02/2007
dici che vuoi fare la ricerca di una parola in inglese e la corrispondente in italiano in un database con vb?

Ultima modifica effettuata da Hacker il 28/02/2007 alle 16:17
PM Quote
Avatar
jack1988 (Normal User)
Pro


Messaggi: 117
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 16:31
Mercoledì, 28/02/2007
Allora nel Database c sn sl due campi e cioé, uno(ParolaInglese) dv c sn tutte le parole in inglese
e l'altro campo(Traduzione) cioè la corrispondente traduzione della parola in inglese...questo è il database...In visual Basic 6,invece,dp aver fatto il collegamento e aver aggiunto i vari commandbutton necessari...mi serve un altro command x la ricerca,
cioé,dp aver inserito la parola in inglese cn l'istruzione: "InputBox" mi deve dare in una textbox la sua traduzione...Capito?

Cioè se cerco ad Es: Mother, nella textbox mi visualizzare "Mamma"...Ok?
:k::k::k:

PM Quote
Avatar
jack1988 (Normal User)
Pro


Messaggi: 117
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 15:12
Venerdì, 02/03/2007
ma nn mi risponde + nessuno?
V prego aiutatemi!!!
Hacker c conto!!!:k::k::k:

PM Quote
Avatar
Hacker (Member)
Guru


Messaggi: 1014
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 15:59
Venerdì, 02/03/2007
dovresti utilizzare il

FindFirst,FindLast,FindNext,FindPrevious
(Individuano il primo, l'ultimo, il successivo o il precedente record in un oggetto Recordset di tipo dynaset o di tipo snapshot che soddisfa i criteri specificati e lo rendono il record corrente.

Parti della funzione:

setdirecord :Variabile di oggetto che rappresenta un oggetto Recordset di tipo dynaset o snapshot esistente.
criteri :Tipo di dati String utilizzato per individuare il record come, ad esempio, la proposizione WHERE in un'istruzione SQL senza la parola WHERE.)



oppure seek
(Individua in un oggetto Recordset di tipo tabella indicizzato il record che soddisfa i criteri specificati per l'indice corrente e rende tale record il record correntearee di lavoro di Microsoft Jet.

Parti della funzione:


setdirecord :Variabile di oggetto che si riferisce ad un oggetto Recordset di tipo tabella esistente che ha un indice definito come indicato dalla proprietà Index dell'oggetto Recordset.

confronto: Una delle seguenti espressioni stringa: <, <=, =, >=, o >.
chiave1, chiave2...chiave13: Uno o più valori corrispondenti ai campi nell'indice corrente dell'oggetto Recordset, come indicato nell'impostazione della proprietà Index dell'oggetto. È possibile utilizzare un massimo di 13 argomenti chiave)

...

Ultima modifica effettuata da Hacker il 02/03/2007 alle 16:04
PM Quote
Avatar
jack1988 (Normal User)
Pro


Messaggi: 117
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 19:59
Venerdì, 02/03/2007
Ho capito cosa intendi...ma seresti così gentile da farmi un esempio specifico cn il codice esatto?

Grazie!!!:k:

PM Quote
Avatar
Hacker (Member)
Guru


Messaggi: 1014
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 16:46
Sabato, 03/03/2007
ti riporto gli esempi presi da MSDN per l'utilizzo di queste due funzioni:

Esempio del metodo Seek

Nel seguente esempio viene utilizzato il metodo Seek consentendo all'utente di ricercare un prodotto in base ad un numero identificativo (ID).

Sub SeekX()
Dim dbsNorthwind As Database
Dim rstProdotti As Recordset
Dim intPrimo As Integer
Dim intUltimo As Integer
Dim strMessaggio As String
Dim strRicerca As String
Dim varSegnalibro As Variant
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
' È necessario aprire un oggetto Recordset di tipo
' tabella per usare un indice e il metodo Seek.
Set rstProdotti = _
dbsNorthwind.OpenRecordset("Prodotti", dbOpenTable)
With rstProdotti
' Imposta l'indice.
.Index = "ChiavePrimaria"
' Ottiene i numeri ID massimi e minimi.
.MoveLast
intUltimo = !IDProdotto
.MoveFirst
intPrimo = !IDProdotto
Do While True
' Visualizza le informazioni sul record
' corrente e chiede all'utente il numero ID.
strMessaggio = "ID Prodotto: " & !IDProdotto & vbCr & _
"Nome: " & !NomeProdotto & vbCr & vbCr & _
"Immettere un ID prodotto tra " & intPrimo & _
" e " & intUltimo & "."
strRicerca = InputBox(strMessaggio)
If strRicerca = "" Then Exit Do
' Memorizza il segnalibro corrente nel caso in cui il metodo Seek non riesca.
varSegnalibro = .Bookmark
.Seek "=", Val(strRicerca)
' Ritorna al record corrente se il metodo Seek non riesce.
If .NoMatch Then
MsgBox "ID non trovato!"
.Bookmark = varSegnalibro
End If
Loop
.Close
End With
dbsNorthwind.Close
End Sub

Esempio di metodi FindFirst, FindLast, FindNext, FindPrevious

Nel seguente esempio vengono utilizzati i metodi FindFirst, FindLast, FindNext e FindPrevious per spostare il puntatore del record di un oggetto Recordset in base alla stringa di ricerca e il comando. Per eseguire la routine è necessaria la funzione TrovaQualsiasi.

Sub FindFirstX()
Dim dbsNorthwind As Database
Dim rstClienti As Recordset
Dim strPaese As String
Dim varSegnalibro As Variant
Dim strMessaggio As String
Dim intComando As Integer
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set rstClienti = dbsNorthwind.OpenRecordset( _
"SELECT NomeSocietà, Città, Paese " & _
"FROM Clienti ORDER BY NomeSocietà", _
dbOpenSnapshot)
Do While True
' L'utente immette e genera la stringa di ricerca.
strPaese = _
Trim(InputBox("Immettere paese per la ricerca."))
If strPaese = "" Then Exit Do
strPaese = "Paese = '" & strPaese & "'"
With rstClienti
' Riempie il set di record.
.MoveLast
' Trova il primo record richiesto dalla stringa
' di ricerca. Esce dal ciclo se non esiste un tale record.
.FindFirst strPaese
If .NoMatch Then
MsgBox "Nessun record trovato con " & _
strPaese & "."
Exit Do
End If
Do While True
' Memorizza il segnalibro del record corrente.
varSegnalibro = .Bookmark
' L'utente sceglie quale metodo utilizzare.
strMessaggio = "Società: " & !NomeSocietà & _
vbCr & "Posizione: " & !Città & ", " & _
!Paese & vbCr & vbCr & _
strPaese & vbCr & vbCr & _
"[1 - TrovaPrimo, 2 - TrovaUltimo, " & _
vbCr & "3 - TrovaSuccessivo, " & _
"4 - TrovaPrecedente]"
intComando = Val(Left(InputBox(strMessaggio), 1))
If intComando < 1 Or intComando > 4 Then Exit Do
' Utilizza il metodo Find selezionato. Se il metodo
' Find non riesce, ritorna all'ultimo record corrente.
If TrovaQualsiasi(intComando, rstClienti, _
strPaese) = False Then
.Bookmark = varSegnalibro
MsgBox "Nessuna corrispondenza—ritornare a " & _
"record corrente."
End If
Loop
End With
Exit Do
Loop
rstClienti.Close
dbsNorthwind.Close
End Sub
Function TrovaQualsiasi(intScelta As Integer, _
rstTemp As Recordset, _
strTrova As String) As Boolean
' Utilizza il metodo Find in base all'input dell'utente.
Select Case intScelta
Case 1
rstTemp.FindFirst strTrova
Case 2
rstTemp.FindLast strTrova
Case 3
rstTemp.FindNext strTrova
Case 4
rstTemp.FindPrevious strTrova
End Select
' Imposta il valore restituito in base alla proprietà NoMatch.
TrovaQualsiasi = IIf(rstTemp.NoMatch, False, True)
End Function

Dimmi se ti sono stati d'aiuto;)

Ultima modifica effettuata da Hacker il 03/03/2007 alle 16:46
PM Quote
Avatar
jack1988 (Normal User)
Pro


Messaggi: 117
Iscritto: 27/02/2007

Segnala al moderatore
Postato alle 15:18
Domenica, 04/03/2007
Si mi sn stati d grande aiuto...grazie mille Hacker!!!

Ciao alla prossima!!!:k::k::k:

PM Quote
Avatar
Hacker (Member)
Guru


Messaggi: 1014
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 17:44
Domenica, 04/03/2007
byez:k:

PM Quote