Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB-6]Come ricercare in un Database

    Ciao a tutti,
    io sono appena arrivato in questo forum perchè è da tempo che cerco di trovare la soluzione a questo problema: Come ricercare tramite form un determinato record immesso dall'utente(naturalmente questo lavorando con dei database).

    Momentaneamente ho provato questo codice che è anche quello presente su questo sito ( nella sezione "Programmazione/Guida al Visual Basic/Creare un'agenda elettronica):

    Private Sub Command1_Click()
    'Ricerca un nome all'interno dell'agenda.
    Dim NomeDaCercare As String
    Dim nome As Field
    nome = Text1
    NomeDaCercare = InputBox$("Immettere il nome da ricercare:", "Ricerca nell'agenda")
    If NomeDaCercare <> "" Then
    'Esegue la ricerca solo se è stato immesso un nome.
    Data1.Recordset.Index = "nome"
    Data1.Recordset.Seek "=", NomeDaCercare

    If Data1.Recordset.NoMatch Then
    Data1.Recordset.MoveFirst
    Data1.Refresh
    'Il nome cercato non è stato trovato.
    MsgBox "Nome non trovato.", vbInformation, Me.Caption
    End If
    End If
    End Sub

    Purtroppo qualche cosa non funziona.
    Qualcuno di voi sa per caso come posso fare????
    Vi serei molto grati se mi rispondeste il prima possibile.

    Grazie di tutto in anticipo!!!
    Ciao
    Meldon

  2. #2
    Perche non provi a usare Sql?

    dim variabile
    variabile = "Select * from (nome Tabella) where (nome campo) = Nome da cercare"
    Boicottiamo la coca cola...
    http://www.tmcrew.org/killamulti/cocacola/

  3. #3
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    ci sono diversi modi , questo è uno dei tanti:
    codice:
    Dim rs as recordset
    Dim dbDName as database
    Dim searchstring
    Set dbDName = opendatabase(namedatabase)
    Set rs = dbDName.openrecordset(nametable)
    rs.Index = (name_of_your_index)
    rs.Seek "=",  (searchstring)
    If Not rs.Nomatch then
        'show record
    Else
        Msgbox "nothing found.."
    End if

  4. #4
    Scusa la mia immansa ignoranza ma momentaneamente non conosco l'SQL.
    Mi potresti scrivere il codice completo in Basic per poter ricercare dei record i un recordset?
    Naturalmente se per te non è di troppo disturbo.


    In ogni caso ti ringrazio moltissimo per l'aiuto.

    Se non esiste il codice in basic o per qualsiasi altra ragione non riesci a scrivermelo potrsti anche provare a spiegarmi che cosa a scritto sopra.

    Ti ringrazio ulteriormente.

    Ciao
    Meldon.

  5. #5
    Originariamente inviato da yyzyyz
    ci sono diversi modi , questo è uno dei tanti:
    codice:
    Dim rs as recordset
    Dim dbDName as database
    Dim searchstring
    Set dbDName = opendatabase(namedatabase)
    Set rs = dbDName.openrecordset(nametable)
    rs.Index = (name_of_your_index)
    rs.Seek "=",  (searchstring)
    If Not rs.Nomatch then
        'show record
    Else
        Msgbox "nothing found.."
    End if
    Ti ringrazio molto per l'aiuto ma ti chiedo ancora una volta un secondo modo per risolvere il mio problema.

    Grazie molte.
    Ciao
    Meldon

  6. #6
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    codice:
    ' modo ricerca record modo 2 
    Dim rs as recordset
    Dim dbDName as database
    Dim searchstring
    Set dbDName = opendatabase(yourdatabase)
    Set rs = dbDName.openrecordset(yourtable)
    rs.FindFirst "[field_you_want_to_search] = " & (searchstring)
    If Not rs.Nomatch then
        'show record
    Else
        rs.FindNext
    End if
    rs.FindFirst "[field_you_want_to_search] = '" & (searchstring) _
        & "'"
    codice:
    ' ricerca record modo3
        Dim rs as recordset
        Dim dbDName as database
        Dim searchstring
        Dim SQL$
        SQL$ = "SELECT * FROM " & (yourdatabase)
        SQL$ = SQL$ & " WHERE " & (yoursearchfield) & " = " & searchstring
        Set dbDName = opendatabase(yourdatabase)
        Set rs = dbDName.openrecordset(SQL$)
        Do While Not rs.EOF
            'show record
            rs.Movenext
        Loop
    codice:
    ' ricerca record modo4
    ' molto lento
    Dim rs as recordset
    Dim dbDName as database
    Dim searchstring
    Set dbDName = opendatabase(yourdatabase)
    Set rs = dbDName.openrecordset(yourtable)
    Do While Not rs.EOF
        'if yoursearchfield = 0 -> the first field
        if rs.Fields(0).Value = searchstring Then
            'show record
            endif
            rs.Movenext
        Loop

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.