+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

recuperare dato database

  1. #1
    donini non  in linea Scolaretto
    Post
    225
    Like Inviati  
    0
    Like Ricevuti  
    0
    ciao sono quasi al termine del mio progetto per paghe ho un problema ,
    il mio progetto è composto da 16 textbox numeriche dove io vado a inserire i vari valori e di 3 combobox dove inserisco il Nome dell operaio il mese e l anno il tutto si appoggia a un database access.
    il problema è il seguente devo recuperare un dato chiamato (residuo mese succesivo) in una textbox chiamata residuo mese precedente ma il dato viene recuperato in base alle condizioni specifiche cio dopo aver inserito il nome il cognome e l anno.-
    come posso fare questo è il codice di connessione al database


    Private Sub cmdSeleziona_Click()
    ' VERIFICO CHE SIA SELEZIONATO UN RECORD REALE (NON VUOTO)
      If cmbSeleziona.Text = "" Then
        lblMessaggio.Caption = "Selezionare un Utente valido"
      Else
        lblMessaggio.Caption = ""
    
        ' UTILIZZO LA FUNZIONE SPLIT PER RECUPERARE IL VALORE ID NELLA COMBO BOX
        s = Split(cmbSeleziona.Text, " ")
        
    
        Set cn = New ADODB.Connection
        Set rs = New ADODB.Recordset
    
        
        ' APRO LA CONNESSIONE E LANCIO LA QUERY PER RECUPERARE IL RECORD SELEZIONATO
        cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=paghe.mdb"
        rs.Open "SELECT * FROM paghe WHERE id = " & CInt(s(0)), cn, 1
    
    
        ' RIEMPIO I CAMPI DELLA FORM CON I VALORI ESTRATTI DAL DATABASE
        NOME.Text = rs("nome").Value
        MESE.Text = rs("mese").Value
        ANNO.Text = rs("anno").Value
        ORE_LAV.Text = rs("ore lavorate").Value
        ORE_FES.Text = rs("ore festivita").Value
        PREZZO_ORA.Text = rs("prezzo ora").Value
        IMP_SALARIO.Text = rs("importo salario").Value
        IMP_FESTIVITA.Text = rs("importo festivita").Value
        MALATT_MATERN.Text = rs("malattia maternita").Value
        PREZZO_PREMI.Text = rs("prezzo premi").Value
        PREMI_E_ALTRE_VOCI.Text = rs("importo altre voci").Value
        IMPORTO_LORDO.Text = rs("importo lordo").Value
        IRPAF.Text = rs("irpaf").Value
        CONTRIB_IMPS.Text = rs("contributi imps").Value
        IMPORTO_NETTO.Text = rs("importo netto").Value
        IMPORTO_BUSTA.Text = rs("importo busta").Value
        IMPORTO_ASSEG.Text = rs("importo assegno").Value
        SALDO.Text = rs("saldo").Value
        IMPORTO_PAGATO.Text = rs("importo pagato").Value
        rs.Close
        cn.Close
      End If
    End Sub
    
    Private Sub cmdCancella_Click()
    ' CONTROLLO CHE IL RECORD SELEZIONATO NON SIA VUOTO
      If cmbSeleziona.Text = "" Then
        lblMessaggio.Caption = "Selezionare un Utente valido"
      Else
        ' COME SOPRA...
        s = Split(cmbSeleziona.Text, " ")
    
        ' ESEGUO LA CANCELLAZIONE DEL RECORD SELEZIONATO
        Set cn = New ADODB.Connection
        cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=paghe.mdb"
        cn.Execute ("DELETE * FROM paghe WHERE id = " & CInt(s(0)))
        cn.Close
    
        ' PULISCO E RICARICO LA COMBO BOX
        cmbSeleziona.Clear
        Call Form_Load
      End If
    End Sub
    
    Private Sub cmdSalva_Click()
    ' CONTROLLO LA VALIDITA' DEI CAMPI
    
      If Len(Trim(ORE_LAV.Text)) = 0 Or IsNumeric(ORE_LAV.Text) = False Then
        lblMessaggio.Caption = "Inserire ore lavorate"
        ORE_LAV.SetFocus
      ElseIf Len(Trim(ORE_FES.Text)) = 0 Or IsNumeric(ORE_FES.Text) = False Then
        lblMessaggio.Caption = "Inserire ore festivita"
        ORE_FES.SetFocus
      ElseIf Len(Trim(PREZZO_ORA.Text)) = 0 Or IsNumeric(PREZZO_ORA.Text) = False Then
        lblMessaggio.Caption = "Inserire prezzo "
        PREZZO_ORA.SetFocus
      ElseIf Len(Trim(IMP_SALARIO.Text)) = 0 Or IsNumeric(IMP_SALARIO.Text) = False Then
        lblMessaggio.Caption = "Inserire il importo salario "
        IMP_SALARIO.SetFocus
      Else ' SE TUTTE LE CONDIZIONI SONO STATE SODDISFATTE...
    
        ' COMANDO SQL A SECONDA CHE SI TRATTI DI UNA INSERT O DI UN UPDATE
        Dim SQL As String
        ' MESSAGGIO DI CONFERMA (SECONDO LO STESSO CRITERIO DESCRITTO SOPRA)
        Dim conferma As String
    
        ' COME SOPRA...
        s = Split(cmbSeleziona.Text, " ")
    
        Set cn = New ADODB.Connection
        Set rs = New ADODB.Recordset
    
        cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=paghe.mdb"
    
        If cmbSeleziona.Text = "" Then ' ...ESEGUO LA INSERT
          SQL = "INSERT INTO paghe " _
          & "(nome, mese, anno, [ore lavorate], [ore festivita], [prezzo ora], [importo salario], [importo festivita], [malattia maternita],[prezzo premi]," _
          & "[importo altre voci], [importo lordo], [irpaf], [contributi imps], [importo netto], [importo busta], [importo assegno], [saldo]," _
          & "[importo pagato])VALUES " _
          & "('" & Replace(NOME.Text, "'", "''") & "', " _
          & "'" & Replace(MESE.Text, "'", "''") & "', " _
          & "'" & Replace(ANNO.Text, "'", "''") & "', " _
          & "'" & Replace(ORE_LAV.Text, "'", "''") & "', " _
          & "'" & Replace(ORE_FES.Text, "'", "''") & "', " _
          & "'" & Replace(PREZZO_ORA.Text, "'", "''") & "', " _
          & "'" & Replace(IMP_SALARIO.Text, "'", "''") & "'," _
          & "'" & Replace(IMP_FESTIVITA.Text, "'", "''") & "'," _
          & "'" & Replace(MALATT_MATERN.Text, "'", "''") & "'," _
          & "'" & Replace(PREZZO_PREMI.Text, "'", "''") & "'," _
          & "'" & Replace(PREMI_E_ALTRE_VOCI.Text, "'", "''") & "'," _
          & "'" & Replace(IMPORTO_LORDO.Text, "'", "''") & "'," _
          & "'" & Replace(IRPAF.Text, "'", "''") & "'," _
          & "'" & Replace(CONTRIB_IMPS.Text, "'", "''") & "'," _
          & "'" & Replace(IMPORTO_NETTO.Text, "'", "''") & "'," _
          & "'" & Replace(IMPORTO_BUSTA.Text, "'", "''") & "'," _
          & "'" & Replace(IMPORTO_ASSEG.Text, "'", "''") & "'," _
          & "'" & Replace(SALDO.Text, "'", "''") & "'," _
          & "'" & Replace(IMPORTO_PAGATO.Text, "'", "''") & "')"
          conferma = "Inserimento effettuato con successo"
        Else ' ...ESEGUO L'UPDATE
          SQL = "UPDATE paghe SET " _
          & "[nome] = '" & Replace(NOME.Text, "'", "''") & "', " _
          & "[mese] = '" & Replace(MESE.Text, "'", "''") & "', " _
          & "[anno] = '" & Replace(ANNO.Text, "'", "''") & "', " _
          & "[ore lavorate] = '" & Replace(ORE_LAV.Text, "'", "''") & "', " _
          & "[ore festivita] = '" & Replace(ORE_FES.Text, "'", "''") & "', " _
          & "[prezzo ora] = '" & Replace(PREZZO_ORA.Text, "'", "''") & "', " _
          & "[importo salario] = '" & Replace(IMP_SALARIO.Text, "'", "''") & "' " _
          & "[importo festivita] = '" & Replace(IMP_FESTIVITA.Text, "'", "''") & "' " _
          & "[malattia maternita] = '" & Replace(MALATT_MATERN.Text, "'", "''") & "' " _
          & "[prezzo premi] = '" & Replace(PREZZO_PREMI.Text, "'", "''") & "' " _
          & "[importo altre voci] = '" & Replace(PREMI_E_ALTRE_VOCI.Text, "'", "''") & "' " _
          & "[importo lordo] = '" & Replace(IMPORTO_LORDO.Text, "'", "''") & "' " _
          & "[irpaf] = '" & Replace(IRPAF.Text, "'", "''") & "' " _
          & "[contributi imps] = '" & Replace(CONTRIB_IMPS.Text, "'", "''") & "' " _
          & "[importo netto] = '" & Replace(IMPORTO_NETTO.Text, "'", "''") & "' " _
          & "[importo busta] = '" & Replace(IMPORTO_BUSTA.Text, "'", "''") & "' " _
          & "[importo assegno] = '" & Replace(IMPORTO_ASSEG.Text, "'", "''") & "' " _
          & "[saldo] = '" & Replace(SALDO.Text, "'", "''") & "' " _
          & "[importo pagato] = '" & Replace(IMPORTO_PAGATO.Text, "'", "''") & "' " _
          & "WHERE id = " & CInt(s(0))
          conferma = "Modifica effettuata con successo"
        End If
    
        ' ESEGUO IL COMANDO SQL CHE ARRIVA DELLA CONDIZIONE
        cn.Execute (SQL)
        lblMessaggio.Caption = conferma
    
        cn.Close
    
        ' PULISCO E RICARICO LA COMBO BOX
        cmbSeleziona.Clear
        Call Form_Load
      End If
    End Sub
    
    
    
    Private Sub Form_Load()
    Set cn = New ADODB.Connection
    Set rs = New ADODB.Recordset
    ControlliTAB = "NOME MESE ANNO ORE_LAV ORE_FES PREZZO_ORA IMP_SALARIO IMP_FESTIVITA MALATT_MATERN PREZZO_PREMI PREMI_E_ALTRE_VOCI" _
    & "RES_MESE_PREC IMPORTO_LORDO"
    
    
    ' APRO LA CONNESSIONE E LANCIO LA QUERY PER RECUPERARE I DATI
    
    cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=paghe.mdb"
    rs.Open "SELECT DISTINCT nome FROM paghe ORDER BY nome ASC", cn, 1
    NOME.AddItem ("")
    While rs.EOF = False
    NOME.AddItem ("" & rs("nome").Value)
    rs.MoveNext
    Wend
    rs.Close
    rs.Open "SELECT DISTINCT mese FROM paghe ORDER BY mese ASC", cn, 1
    MESE.AddItem ("")
    While rs.EOF = False
    MESE.AddItem ("" & rs("mese").Value)
    rs.MoveNext
    Wend
    rs.Close
    rs.Open "SELECT DISTINCT anno FROM paghe ORDER BY anno ASC", cn, 1
    ANNO.AddItem ("")
    While rs.EOF = False
    ANNO.AddItem ("" & rs("anno").Value)
    rs.MoveNext
    Wend
    rs.Close
    rs.Open "SELECT id, nome, mese, anno FROM paghe ORDER BY anno ASC", cn, 1
    cmbSeleziona.AddItem ("")
    While rs.EOF = False
    cmbSeleziona.AddItem (rs("id").Value & " - " & rs("nome").Value & " " & rs("mese").Value & " - " & rs("anno").Value)
    rs.MoveNext
    Wend
    rs.Close
    cn.Close
    End Sub
    

  2. #2
    L'avatar di TheTruster
    TheTruster non  in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Post
    7,244
    Blogs
    3
    Like Inviati  
    19
    Like Ricevuti  
    13
    donini, se non spieghi bene il problema (e ti assicuro che non l'hai fatto) è inutile postare 20Km di codice, per di più senza utilizzare i tag [code][/code] appositamente creati per formattarlo.

    stavolta ho messo io i tags al tuo codice, ma spiega dettagliatamente e comprensibilmente il tuo problema, se desideri risposte esaurienti.

    TheTruster
    ℹ️ Leggi di pi su TheTruster ...

  3. #3
    donini non  in linea Scolaretto
    Post
    225
    Like Inviati  
    0
    Like Ricevuti  
    0
    prima di tutto mi scuso per i tag ma non so come si mette
    per il mio problema provo a spiegarmi meglio io devo recuperare un dato in un campo access e inserirlo in una text box pero il campo da recuperare deve corrispondere precisamente al nome all'anno e al mese precedente

  4. #4
    Post
    1,900
    Blogs
    21
    Like Inviati  
    14
    Like Ricevuti  
    13
    Quote Originariamente inviato da donini
    .................................................. .....
    ...ESEGUO LA INSERT
    SQL = "INSERT INTO paghe " _
    & "(nome, mese, anno, [ore lavorate], [ore festivita], [prezzo ora], [importo salario], [importo festivita], [malattia maternita],[prezzo premi]," _
    & "[importo altre voci], [importo lordo], [irpaf], [contributi imps], [importo netto], [importo busta], [importo assegno], [saldo]," _
    & "[importo pagato])VALUES " _
    & "('" & Replace(NOME.Text, "'", "''") & "', " _
    & "'" & Replace(MESE.Text, "'", "''") & "', " _
    & "'" & Replace(ANNO.Text, "'", "''") & "', " _
    & "'" & Replace(ORE_LAV.Text, "'", "''") & "', " _
    & "'" & Replace(ORE_FES.Text, "'", "''") & "', " _
    & "'" & Replace(PREZZO_ORA.Text, "'", "''") & "', " _
    & "'" & Replace(IMP_SALARIO.Text, "'", "''") & "'," _
    & "'" & Replace(IMP_FESTIVITA.Text, "'", "''") & "'," _
    & "'" & Replace(MALATT_MATERN.Text, "'", "''") & "'," _
    & "'" & Replace(PREZZO_PREMI.Text, "'", "''") & "'," _
    & "'" & Replace(PREMI_E_ALTRE_VOCI.Text, "'", "''") & "'," _
    & "'" & Replace(IMPORTO_LORDO.Text, "'", "''") & "'," _
    & "'" & Replace(IRPAF.Text, "'", "''") & "'," _
    & "'" & Replace(CONTRIB_IMPS.Text, "'", "''") & "'," _
    & "'" & Replace(IMPORTO_NETTO.Text, "'", "''") & "'," _
    & "'" & Replace(IMPORTO_BUSTA.Text, "'", "''") & "'," _
    & "'" & Replace(IMPORTO_ASSEG.Text, "'", "''") & "'," _
    & "'" & Replace(SALDO.Text, "'", "''") & "'," _
    & "'" & Replace(IMPORTO_PAGATO.Text, "'", "''") & "')"
    ..............................................
    .... ... il tag CODEEEEEEEEEEE.....

    EDIT ....scusate ma sono rimasto sotto shock per un pò e non avevo visto l'intervento di TheTruster...
    Ultima modifica di sspintux; 15-10-2006 23:00 
    ℹ️ Leggi di pi su sspintux ...

  5. #5
    L'avatar di TheTruster
    TheTruster non  in linea Moderatore Globale Ultimo blog: Mouse Wheel in Visual Basic 6 - ActiveX
    Post
    7,244
    Blogs
    3
    Like Inviati  
    19
    Like Ricevuti  
    13
    Quote Originariamente inviato da donini
    prima di tutto mi scuso per i tag ma non so come si mette
    niente di pi semplice.
    nell'editor del messaggio trovi un pulsantino fatto cos #
    premilo e verranno automaticamente inseriti i tag [code][/code]

    basta scrivere il codice tra di essi cos:

    [code]Questo
    il codice da
    inserire tra i tags
    per formattarlo
    correttamente[/code]

    e avr questo effetto:

    Questo  
        il codice da 
            inserire tra i tags        
        per formattarlo
    correttamente
    
    Quote Originariamente inviato da donini
    per il mio problema provo a spiegarmi meglio io devo recuperare un dato in un campo access e inserirlo in una text box pero il campo da recuperare deve corrispondere precisamente al nome all'anno e al mese precedente
    continuo a non capire... impiega un po' pi di 2 righe per descrivere la situazione *reale* corredandola di un esempio di dati *reali*...
    non si possono impiegare 10 posts solo per capire il problema, spero che tu ti renda conto...

    TheTruster
    ℹ️ Leggi di pi su TheTruster ...

  6. #6
    L'avatar di slashmad
    slashmad non  in linea Scribacchino
    Post
    763
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da donini
    prima di tutto mi scuso per i tag ma non so come si mette
    per il mio problema provo a spiegarmi meglio io devo recuperare un dato in un campo access e inserirlo in una text box pero il campo da recuperare deve corrispondere precisamente al nome all'anno e al mese precedente

    Potresti farti una ulteriore Query per recuperare il valore che ti interessa, cambiando il mese di riferimento, tipo:

    SELECT residuo_mese_precedente FROM tabella WHERE (cognome = 'pippo' AND anno = 2006 AND mese = 9);
    Chiaramente i nomi dei campi l ho inventati io non conosco la struttura del tuo DB.

    PS. Un consiglio: Evita di effettuare una connessione nuova ogni volta che devi interrogare il Database.
    Creati due funzioni, una che apre la connessione quando avvii il programma ed una che la chiude quando chiudi il programma.

    Ciao

    ℹ️ Leggi di pi su slashmad ...

  7. #7
    donini non  in linea Scolaretto
    Post
    225
    Like Inviati  
    0
    Like Ricevuti  
    0
    proprio non ci riesco a farmi capire, il programma un programma per paghe operaie, facciamo un esempio
    ammettiamo di fare un paga per un operaio inserisco nelle textbox.
    nome ,mese ,anno ,ore lavorate, prezzo ora e cosi via ad un certo punto c una casella dove insisco il residuo del mese in questione. il mese successivo devo recuperare il residuo

  8. #8
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,480
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Non puoi pretendere che tutti conoscano i termini del tuo problema ...

    Cosa vuol dire - per chi non ha idea dell'argomento - "recuperare il residuo"?

    Cosa intendi con "residuo"?
    ℹ️ Leggi di pi su AntonioG ...

  9. #9
    donini non  in linea Scolaretto
    Post
    225
    Like Inviati  
    0
    Like Ricevuti  
    0
    posso inviarvi il mio progetto cosi che riusciamo a capirci

  10. #10
    L'avatar di AntonioG
    AntonioG non  in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Post
    17,480
    Blogs
    5
    Like Inviati  
    6
    Like Ricevuti  
    34
    Ma perche' non rispondi alle mie domande? Magari argomentando in maniera diffusa ...?

    Se mandi il programma, uno se lo deve studiare da zero e non tutti hanno questo tempo da impiegare ...
    ℹ️ Leggi di pi su AntonioG ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Recuperare un dato da un indirizzo in RAM
    Da MaurizioLaserbin nel forum Visual Basic .Net
    Risposte: 3
    Ultimo Post: 23-03-2013, 19:12
  2. Recuperare il contenuto di una variabile dato il nome
    Da meccallous nel forum Visual Basic 6
    Risposte: 7
    Ultimo Post: 09-06-2008, 10:51
  3. Recuperare struttura database
    Da bertoz nel forum Visual Basic .Net
    Risposte: 5
    Ultimo Post: 21-08-2007, 13:47
  4. Risposte: 6
    Ultimo Post: 07-06-2006, 15:20
  5. recuperare un dato da una tabella
    Da coccobil nel forum PHP
    Risposte: 3
    Ultimo Post: 17-08-2005, 12:25