Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-10-2006, 22:26   #1
donini
Junior Member
 
Iscritto dal: May 2005
Messaggi: 9
[VB6]filtrare record

ciao a tutti,premetto che sono alle prime esperienze nella programmazione e che ho già inserito una domanda simile in un altro forum ma non ne sono venuto a capo.
Ma torniamo al mio problema, ho eseguito un progetto che si appoggia in un database access e uso ADO come connesione ,la mia richiesta è la seguente, devo filtrare e recuperare un record già inserito nel database in una textbox, il filtraggio del record deve avvenire dopo aver digitato nome, mese, anno nelle rispettive [combobox] il record da filtrare si chiama (residuo mese precedente ).
qualcuno mi può dare qualche soluzione mostandomi qualche esempio.
grazie infinite
donini è offline   Rispondi citando il messaggio o parte di esso
Old 20-10-2006, 22:47   #2
donini
Junior Member
 
Iscritto dal: May 2005
Messaggi: 9
inserisco il codice su cui sto lavorando
Codice:
Option Explicit
' DICHIARO L'OGGETTO CONNECTION
Dim cn As ADODB.Connection

' DICHIARO L'OGGETTO RECORDSET
Dim rs As ADODB.Recordset
Private ControlliTAB As String



' STRINGA DI ARRAY CHE SERVIRA' IN ALCUNE FASI DEL PROGRAMMA
Dim s() As String


Private Sub cmdEsci_Click()
  ' ESCE DAL PROGRAMMA
  Unload Me
End Sub


Private Sub cmdNuovo_Click()

' PULISCE I CAMPI
  NOME.Text = ""
  MESE.Text = ""
  ANNO.Text = ""
  ORE_LAV.Text = 0
  ORE_FES.Text = 0
  PREZZO_ORA.Text = 0
  IMP_SALARIO.Text = 0
  IMP_FESTIVITA.Text = 0
  MALATT_MATERN.Text = 0
  PREZZO_PREMI.Text = 0
  PREMI_E_ALTRE_VOCI.Text = 0
  RES_MESE_PREC.Text = 0
  IMPORTO_LORDO.Text = 0
  IRPAF.Text = 0
  CONTRIB_IMPS.Text = 0
  IMPORTO_NETTO.Text = 0
  IMPORTO_BUSTA.Text = 0
  IMPORTO_ASSEG.Text = 0
  SALDO.Text = 0
  IMPORTO_PAGATO.Text = 0
  lblMessaggio.Caption = ""
End Sub

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
    RES_MESE_PREC.Text = rs("residuo mese precedente").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], [residuo mese precedente], [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(RES_MESE_PREC.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, "'", "''") & "' " _
      & "[residuo mese predente] = '" & Replace(RES_MESE_PREC.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
donini è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
La Serie A con DAZN e Amazon Prime con l...
Giochi Ubisoft su Steam senza Ubisoft Co...
Miami Beach ha autorizzato la maxi opera...
Apple regala un altro anno di funzioni s...
Alla fine è successo davvero: Vol...
Il meglio di Amazon del weekend in uno s...
Speciale TV in offerta su Amazon: Hisens...
Non c'è pace per Trezor: 347.000 e-mail ...
È un portatile Dell e li vale tut...
Apple iPhone 17 Pro Max 256GB a 1.195€ (...
GPT-6 Astra è davvero AGI o non s...
LG OLED G6S 48'' a 845€ e G6 55'' a 1368...
Mantax Otax: il malware Android che crip...
Musk incassa un altro maxi contratto IA:...
Le vendite di EV sono esplose in tutto i...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 05:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v