Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271

    (vb) Se non trova il contenuto di una query

    Nella mia query gli dico di andare a estrarre tutti i campi
    che corrispondono al valore del codice fiscale che ho
    immesso nella Msk.
    Problema:se non trovo il codice fiscale perchè non c'è o è stato male
    inserito come faccio a mettere una message box in cui gli dico
    codice fiscale non trovato .


    Private Sub cmdCerca_Click()

    If MaskCodiceFiscale.Text = "" Then
    MsgBox "Inserisci il codice fiscale", vbExclamation
    Exit Sub
    End If

    Dim dbConn As New ADODB.Connection
    Dim dbRec As New ADODB.Recordset
    Dim strSQL As String
    Dim iCodiceFiscale As String
    iCodiceFiscale = MaskCodiceFiscale.Text
    g_strConnectionString = "maia"
    dbConn.ConnectionString = g_strConnectionString
    dbConn.Open
    dbRec.Open "Pazienti", dbConn, adOpenDynamic, adLockOptimistic, -1
    strSQL = "Select * FROM Pazienti WHERE CodFiscale= '" & iCodiceFiscale & "'"
    While Not dbRec.EOF
    dbConn.Execute (strSQL)
    txtNome.Text = dbRec.Fields("Nome")
    txtCognome.Text = dbRec.Fields("Cognome")
    DTPickerData.Value = dbRec.Fields("data")
    dbRec.MoveNext
    Wend
    dbRec.Close
    Set dbRec = Nothing
    dbConn.Close
    Set dbConn = Nothing
    End Sub

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212

    Re: (vb) Se non trova il contenuto di una query

    mi spieghi che SENSO HA il codice che hai scritto in quella posizione?

    Originariamente inviato da xit

    codice:
    Private Sub cmdCerca_Click()
    
    If MaskCodiceFiscale.Text = "" Then
    MsgBox "Inserisci il codice fiscale", vbExclamation
    Exit Sub
    End If
    
    Dim dbConn As New ADODB.Connection
    Dim dbRec As New ADODB.Recordset
    Dim strSQL As String
    Dim iCodiceFiscale As String
    iCodiceFiscale = MaskCodiceFiscale.Text
    g_strConnectionString = "maia"
    dbConn.ConnectionString = g_strConnectionString
    dbConn.Open
    dbRec.Open "Pazienti", dbConn, adOpenDynamic, adLockOptimistic, -1
    strSQL = "Select * FROM Pazienti WHERE CodFiscale= '" & iCodiceFiscale & "'"
    While Not dbRec.EOF
    dbConn.Execute (strSQL)
    txtNome.Text = dbRec.Fields("Nome")
    txtCognome.Text = dbRec.Fields("Cognome")
    DTPickerData.Value = dbRec.Fields("data")
    dbRec.MoveNext
    Wend
    dbRec.Close
    Set dbRec = Nothing
    dbConn.Close
    Set dbConn = Nothing
    End Sub

  3. #3
    ma il recordset dbRec ha una Source? xchè dal codice non mi pare.

    comunque, credo che tu possa fare così, aggiungi le istruzioni in rosso:
    codice:
    Private Sub cmdCerca_Click() 
    
      If MaskCodiceFiscale.Text = "" Then 
         MsgBox "Inserisci il codice fiscale", vbExclamation 
         Exit Sub 
      End If 
    
      Dim dbConn As New ADODB.Connection 
      Dim dbRec As New ADODB.Recordset 
      Dim strSQL As String 
      Dim iCodiceFiscale As String 
      iCodiceFiscale = MaskCodiceFiscale.Text 
      g_strConnectionString = "maia" 
      dbConn.ConnectionString = g_strConnectionString 
      dbConn.Open 
      dbRec.Open "Pazienti", dbConn, adOpenDynamic, adLockOptimistic, -1 
      strSQL = "Select * FROM Pazienti WHERE CodFiscale= '" & iCodiceFiscale & "'" 
      
      if dbRec.RecordCount>0 then  
    
           While Not dbRec.EOF 
              dbConn.Execute (strSQL) 
              txtNome.Text = dbRec.Fields("Nome") 
              txtCognome.Text = dbRec.Fields("Cognome") 
              DTPickerData.Value = dbRec.Fields("data") 
              dbRec.MoveNext 
           Wend 
        else
           msgbox "Non c'è!!!"
      end if
     
      dbRec.Close 
      Set dbRec = Nothing 
      dbConn.Close 
      Set dbConn = Nothing 
    End Sub

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  4. #4
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    myLady, pure tu...ma come fa a ciclare fra i recordset se ANCORA non ha aperto il recordset nel quale vorrebbe ciclare?


    Cioè, quel codice non ha motivo di esistere e vi spiego il perchè:

    Supponiamo che la sua tablella abbia 10.000 record e UNO SOLO ha il codice che sta cercando lui nella select con la where.

    Quel codice cicla 10.000 volte per tirare fuori sempre lo stesso record!


  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    Originariamente inviato da darkblOOd
    myLady, pure tu...ma come fa a ciclare fra i recordset se ANCORA non ha aperto il recordset nel quale vorrebbe ciclare?


    Cioè, quel codice non ha motivo di esistere e vi spiego il perchè:

    Supponiamo che la sua tablella abbia 10.000 record e UNO SOLO ha il codice che sta cercando lui nella select con la where.

    Quel codice cicla 10.000 volte per tirare fuori sempre lo stesso record!

    Avevo dimenticato di mettere questo
    Set dbrec= dbconn.execute(strSQL)

  6. #6
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da xit


    Avevo dimenticato di mettere questo
    Set dbrec= dbconn.execute(strSQL)
    ma è uguale, che senso ha?

    Il record che ti restituisce è uno solo che senso ha fare un ciclo While Wend?

    ...a meno che non hai fatto un db a cacchio e ti trovi + persone con lo stesso codice fiscale :quipy:

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    Hai ragione!!!

  8. #8
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da xit
    Hai ragione!!!
    SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSOOOOOOOOTO' :mavieni:


    :quote: :quote:



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 © 2024 vBulletin Solutions, Inc. All rights reserved.