Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 15 su 15

Discussione: VB Errore

  1. #11
    Prova così:
    Vai in debug e ti copy la strSQL, poi la esegui col queryAnalizer (usi sqlServer?), poi vedi...
    secondo me non c'è il record....

    x darkblOOd:

    non sono sicuro ma alla fine execute ti porta all'inzio del recordset, quindi se questa corrisponde a EOF significa che non ci sono elementi. Comunque ha detto che ha provato anche col recordCount e gli ritorna 0.....

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

    non sono sicuro ma alla fine execute ti porta all'inzio del recordset, quindi se questa corrisponde a EOF significa che non ci sono elementi. Comunque ha detto che ha provato anche col recordCount e gli ritorna 0.....
    si, ok. Ma la documentazione microsoft dice che per verificare se un recordset è vuoto bisogna controllare che entrambe le proprietà EOF e BOF del recordset in questione sia vere contemporaneamente.

    E' anche vero che basta vedere se RecordCount è = 0 per capire che non ci sono record, ma loro dicono questo.

    Cmq meglio scrivere codice che non consenta operazioni ambigue no?

    Personalmente credo che tutto il codice che ha postato sia abbastanza incasinato. Non c'era bisogno di fare una funzione per verificare la presenza del cognome, cmq....ad ognuno il suo.

  3. #13
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    codice:
    Private Sub txtCognome_LostFocus() 
    If txtCognome.Text <> "" Then 
       txtNome.Enabled = True 
    End If 
    
    Dim dbConn As New ADODB.Connection 
    Dim dbRecCognome As New ADODB.Recordset 
    Dim strSQLCognome As String 
    Dim iCognome As String 
    iCognome = txtCognome 
    
    g_strConnectionString = "maia"  ' uhm.. maia? :dottò:
    dbConn.ConnectionString = g_strConnectionString 
    dbConn.Open 
    dbRecCognome.Open "Staff", dbConn, adOpenForwardOnly, adLockOptimistic, -1 
    strSQLCognome = "SELECT * FROM Staff WHERE Cognome = '" & iCognome & "'" 
    Set dbRecCognome = dbConn.Execute(strSQLCognome) 
    if dbRecCognome.RecordCount = 0 then
       Msgbox"Cognome non trovato"
       'chiudi il recordset e ciò che non ti serve
       exit sub
    else
       Do While dbRecCognome.EOF = False 
          ListCognome.AddItem dbRecCognome!Cognome & vbTab & dbRecCognome!Nome & vbTab & dbRecCognome!Ruolo 
          dbRecCognome.MoveNext 
       Loop 
    dbRecCognome.Close 
    Set dbRecCognome = Nothing 
    dbConn.Close 
    Set dbConn = Nothing 
    end if
    
    txtCognome.Text = UCase(txtCognome.Text) 
    txtCognome.Text = Replace(txtCognome.Text, " ", " ", 1, -1) 
    
    End Sub
    oggi mi sento particolarmente buono.....

  4. #14
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    Grazie!
    Ho risolto! Sbadataggine!
    If bRes = True Then
    Beep
    MsgBox ("Dati già presenti")




    Private Sub txtCognome_LostFocus()
    txtCognome.Text = UCase(txtCognome.Text)
    txtCognome.Text = Replace(txtCognome.Text, " ", " ", 1, -1)

    Dim dbConn As New ADODB.Connection
    Rem Dim strConnectionString As String
    Dim strSQL As String
    If txtCognome.Text = "" Then
    MsgBox "Inserisci i campi obblibatori * mancanti", vbInformation
    Exit Sub
    End If

    g_strConnectionString = "maia"


    'Apro una connessione con il database
    dbConn.ConnectionString = g_strConnectionString

    dbConn.Open
    Dim dbRec As New ADODB.Recordset
    dbRec.Open "Staff", dbConn, adOpenForwardOnly, adLockOptimistic, -1
    Dim bRes As Boolean

    bRes = controllacognome(iCognome, dbConn)

    If bRes = True Then

    Beep
    MsgBox ("Dati già presenti")
    dbConn.Close
    Set dbConn = Nothing

    Else

    strSQL = "SELECT * FROM Staff WHERE Cognome= '" & iCognome & "'"
    DoEvents
    dbConn.Execute strSQL
    ListCognome.AddItem dbRec!Cognome & vbTab & dbRec!Nome & vbTab & dbRec!Ruolo
    dbRec.Close
    Set dbRec = Nothing
    dbConn.Close
    Set dbConn = Nothing
    End If


    End Sub

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

    cip cip cip cip

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