Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271

    Salvataggio di dati (VB)

    Io ho un form con 4 campi : Cognome,Nome,Ruolo,Alias.Il campo
    alias sono obbligato ad inserirlo solo se nome e cognome sono
    già presenti nel db.
    Io inserisco per la prima volta: Mario,Rossi,Insegnante.
    Se io inserisco un'altra volta il nome e cognome Mario,Rossi siccome
    li trova già nel db mi dice di dover inserire anche l'alias.
    Mi trovo nell'evento click del bottone salva, come posso fare
    questo salvataggio?









    Private Sub cmdSalva_Click()
    Dim dbConn As New ADODB.Connection
    Dim dbrec As New ADODB.Recordset
    Dim strConnectionString As String
    Dim strSQL As String
    Dim strSQL1 As String

    Dim iNome, iCognome, iRuolo, iAlias

    iAlias = txtAlias.Text
    iNome = txtNome.Text
    iCognome = txtCognome.Text


    If txtNome.Text = "" Or txtCognome.Text = "" Or cmbRuolo.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 aRes As Boolean
    aRes = controlladati(iCognome, iNome, dbConn)
    If aRes = True Then
    Beep
    MsgBox "Inserisci l'ALIAS", vbInformation
    Else
    dbrec.Open "Ruolo", dbConn, adOpenForwardOnly, adLockOptimistic, -1
    While Not dbrec.EOF
    ruolo = dbrec("Ruolo")
    'cmbRuolo.AddItem ruolo
    Dim collRuolo As New Collection
    collRuolo.Add Int(dbrec("ID_Ruolo")), ruolo
    dbrec.MoveNext
    Wend

    aRuolo = collRuolo(cmbRuolo.Text)
    strSQL = "INSERT Into Staff (Nome,Cognome,Alias,ID_Ruolo) VALUES ('" & iNome & "','" & iCognome & "','" & iAlias & "','" & aRuolo & "')"


    DoEvents
    dbConn.Execute strSQL


    MsgBox ("Dati inseriti")
    dbConn.Close
    Set dbConn = Nothing
    End If

    End Sub

  2. #2
    io metterei un altro if prima del MsgBox "Inserisci Alias":
    codice:
    if aRes=true
       if iAlias="" then
            msgbox "inserisci alias"
       else
            'qui non ho capito se devi vuoi fare un update o in insert, cmq
            strSQL="update staff sett alias=" & iAlias & " where ...."
            'oppure
            strSQL="insert into staf....."
       end if
    else
    .
    .

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    Così funziona, ma è corretto fare così?



    g_strConnectionString = "maia"


    'Apro una connessione con il database
    dbConn.ConnectionString = g_strConnectionString
    dbConn.Open
    Dim aRes As Boolean
    aRes = controlladati(iCognome, iNome, dbConn)
    If aRes = True And txtAlias = "" Then
    Beep
    MsgBox "Inserisci l'ALIAS", vbInformation
    Else
    dbRec.Open "Ruolo", dbConn, adOpenForwardOnly, adLockOptimistic, -1
    While Not dbRec.EOF
    Ruolo = dbRec("Ruolo")
    'cmbRuolo.AddItem ruolo
    Dim collRuolo As New Collection
    collRuolo.Add Int(dbRec("ID_Ruolo")), Ruolo
    dbRec.MoveNext
    Wend
    aRuolo = collRuolo(cmbRuolo.Text)
    strSQL = "INSERT Into Staff (Nome,Cognome,Alias,ID_Ruolo) VALUES ('" & iNome & "','" & iCognome & "','" & iAlias & "','" & aRuolo & "')"
    DoEvents
    dbConn.Execute strSQL
    MsgBox ("Dati inseriti")
    dbRec.Close
    Set dbRec = Nothing
    Exit Sub
    End If

  4. #4
    si, l'unico problema è che se inserisci dei dati nuovi che non sono nel db e riempi anche txtAlias ti inserisce anche quello, devi vedere se è quello che vuoi...

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    No, voglio inserire l'ALIAS solo se nome e cognome sono uguali

  6. #6
    allora usa il codie che ti ho postato prima.... non ho ancora capito se vuoi fare un insetert ho un update, comunque li ci sono tutti e due

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    Voglio fare una insert.Non mi funziona


    If aRes = True Then
    If txtAlias = "" Then
    Beep
    MsgBox "Inserisci l'ALIAS", vbInformation
    Else
    dbRec.Open "Ruolo", dbConn, adOpenForwardOnly, adLockOptimistic, -1
    While Not dbRec.EOF
    Ruolo = dbRec("Ruolo")
    'cmbRuolo.AddItem ruolo
    Dim collRuolo As New Collection
    collRuolo.Add Int(dbRec("ID_Ruolo")), Ruolo
    dbRec.MoveNext
    Wend
    aRuolo = collRuolo(cmbRuolo.Text)
    strSQL = "INSERT Into Staff (Nome,Cognome,Alias,ID_Ruolo) VALUES ('" & iNome & "','" & iCognome & "','" & iAlias & "','" & aRuolo & "')"
    DoEvents
    dbConn.Execute strSQL
    MsgBox ("Dati inseriti")
    dbRec.Close
    Set dbRec = Nothing
    End If
    Else
    txtAlias.Enabled = True
    Dim dbrec1 As New ADODB.Recordset
    dbrec1.Open "Ruolo", dbConn, adOpenForwardOnly, adLockOptimistic, -1
    While Not dbrec1.EOF
    Ruolo1 = dbrec1("Ruolo")
    'cmbRuolo.AddItem ruolo
    Dim collRuolo1 As New Collection
    collRuolo1.Add Int(dbrec1("ID_Ruolo")), Ruolo1
    dbrec1.MoveNext
    Wend
    aRuolo1 = collRuolo1(cmbRuolo.Text)
    strSQL1 = "INSERT Into Staff (Nome,Cognome,Alias,ID_Ruolo) VALUES ('" & iNome & "','" & iCognome & "','" & iAlias & "','" & aRuolo & "')"
    DoEvents
    dbConn.Execute strSQL1
    MsgBox ("Dati inseriti")
    dbrec1.Close
    Set dbrec1 = Nothing
    End If

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    271
    Cioè mi spiego meglio: se nome e cognome sono uguali(cioè già presenti nel db),mi dice inserisci l'Alias,me lo rende attiva la txt, lo inserisco e mi va a salvare i dati.Se non trova nome e cognome nel
    db mi va a salvare i dati e la txt ALIAS rimane enabled=false

  9. #9
    così il codice è un po' incasinato:
    ad esempio:

    While Not dbRec.EOF
    Ruolo = dbRec("Ruolo")
    'cmbRuolo.AddItem ruolo
    Dim collRuolo As New Collection
    collRuolo.Add Int(dbRec("ID_Ruolo")), Ruolo
    dbRec.MoveNext
    Wend
    aRuolo = collRuolo(cmbRuolo.Text)

    questo lo usi per avere l'id del ruolo selezionato nella combo? se si ti conviene usare ItemData quando riempi la combo per metterci dentro l'ID.

    poi ti da un errore o non fuziona la logica?

  10. #10
    Cioè mi spiego meglio: se nome e cognome sono uguali(cioè già presenti nel db),mi dice inserisci l'Alias,me lo rende attiva la txt, lo inserisco e mi va a salvare i dati.Se non trova nome e cognome nel
    db mi va a salvare i dati e la txt ALIAS rimane enabled=false
    non è quello che volevi?

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.