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

    [vb6] ricerca di record

    questo è il codice:

    codice:
    Private Sub Command1_Click()
    'Dim ricerca As String
    
    'Text1.Text = Text1.Text & ricerca
    If Text1.Text = "" Then
       MsgBox "Digitare un codice" & vbOK
       Else
       
    rsql = ""
    rsql = rsql & "SELECT * FROM tblpresenze WHERE tblpresenze.codmar LIKE '" & Text1.Text & "' ORDER BY marcatura"
    
    Set rs = cn.Execute(rsql)
    
    While Not (rs.EOF)
      'flex2.Cols = 1
      'flex2.Rows = 1
      flex2.ColWidth(0) = 1290
      flex2.Text = "CODICE LETTO"
      'flex2.Cols = 2
      'flex2.Rows = 1
      flex2.ColWidth(1) = 3000
      flex2.Text = "ORARIO MARCATURA"
    flex2.AddItem rs("codmar") & vbTab & rs("marcatura")
    rs.MoveNext
    Wend
    
    End If
      
     
    
    End Sub
    E mi funziona in questo modo:

    Se non digito nessun codice nella text, mi da il messaggio di errore, se invece digito il codice esatto che ricerco, me lo restituisce.

    Bene, non ho capito però come creare la condizione se il codice che inserisco non è presente, tipo:

    "Il codice inserito non è presente nel database".

    Mi date una mano?

    Thx.

    RaouL.

  2. #2
    ok, risolto, dovevo semplicemente fare così:

    codice:
    If rs.EOF Then
       msgbox "Nessun record trovato", vbOkOnly
        Else
    
            While Not (rs.EOF)
             flex2.AddItem rs("codmar") & vbTab & rs("marcatura")
             rs.MoveNext
            Wend
        End If
    
    End If

  3. #3
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    Ciao, prima di tutto, se devi trovare un record univoco in base a un codice, ti consiglio di non usare LIKE, ma di controllare l'uguaglianza del codice:
    codice:
    rsql = rsql & "SELECT * FROM tblpresenze WHERE tblpresenze.codmar = " & Text1.Text & " ORDER BY marcatura"
    (se codmar non è numerico, allora ricordati di aggiungere gli apici tblpresenze.codmar = '" & Text1.Text & "' ...)

    Per controllare se è stato trovato il codice, puoi usare:

    codice:
    if rs.RecordCount>0 then 
         'E' stato trovato il codice
    else
         'NON è stato trovato
    end if
    oppure:
    codice:
    if rs.Eof then 
         'NON è stato trovato il codice
    else
         'E' stato trovato
    end if
    Jupy

  4. #4
    Originariamente inviato da Jupy64
    Ciao, prima di tutto, se devi trovare un record univoco in base a un codice, ti consiglio di non usare LIKE, ma di controllare l'uguaglianza del codice:
    codice:
    rsql = rsql & "SELECT * FROM tblpresenze WHERE tblpresenze.codmar = " & Text1.Text & " ORDER BY marcatura"
    (se codmar non è numerico, allora ricordati di aggiungere gli apici tblpresenze.codmar = '" & Text1.Text & "' ...)

    Per controllare se è stato trovato il codice, puoi usare:

    codice:
    if rs.RecordCount>0 then 
         'E' stato trovato il codice
    else
         'NON è stato trovato
    end if
    oppure:
    codice:
    if rs.Eof then 
         'NON è stato trovato il codice
    else
         'E' stato trovato
    end if
    ciao, come hai visto ti ho preceduto di pochissimo, infatti ci ero arrivato al metodo rs.eof.

    Per quanto riguarda LIKE, se noti infatti il mio text1.text è tra apici singoli ( ' " text1.text " ' ) proprio perchè il mio codmar, è una stringa, non un codice numerico.

    Eppoi..... perchè non hai risposto un'oretta fa? mi avresti risparmiato un bel mal di testa


    Scherzo ovviamente

  5. #5
    Utente di HTML.it L'avatar di Jupy64
    Registrato dal
    Sep 2004
    Messaggi
    1,151
    ops.. in ritardo.. va beh.. l'importante che hai risolto.
    Jupy

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.