Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare
A New York HP ha messo al centro della scena HP IQ, la piattaforma di IA locale da 20 miliardi di parametri. L’abbiamo vista in funzione: è uno strumento che funziona, pensato per un target specifico, con vantaggi reali e limiti altrettanto evidenti
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è
La PNY GeForce RTX 5080 Slim OC si distingue nel panorama delle GPU di fascia alta per il design compatto a due slot, ispirato alla NVIDIA GeForce RTX 5080 Founders Edition. In questo test analizziamo comportamento termico e prestazioni in gioco, valutando se il formato ridotto comprometta o meno l'esperienza complessiva rispetto alle soluzioni più ingombranti presenti sul mercato.
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei
HUAWEI WiFi Mesh X3 Pro Suite è probabilmente il router mesh più fotogenico che si possa acquistare oggi in Italia, ma dietro il guscio in acrilico trasparente e le luci LED dinamiche c'è una macchina tecnica costruita attorno allo standard Wi-Fi 7, con velocità teoriche Dual-Band fino a 3,6 Gbps e una copertura fino a 120 m² una volta abbinato il router principale all'extender incluso nel kit
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


HP Imagine 2026: abbiamo visto HP IQ all’opera, ecco cosa può (e non può) fare HP Imagine 2026: abbiamo visto HP IQ all’opera, ...
PNY RTX 5080 Slim OC, sembra una Founders Edition ma non lo è PNY RTX 5080 Slim OC, sembra una Founders Editio...
Wi-Fi 7 con il design di una vetta innevata: ecco il nuovo sistema mesh di Huawei Wi-Fi 7 con il design di una vetta innevata: ecc...
Core Ultra 7 270K Plus e Core Ultra 7 250K Plus: Intel cerca il riscatto ma ci riesce in parte Core Ultra 7 270K Plus e Core Ultra 7 250K Plus:...
PC Specialist Lafité 14 AI AMD: assemblato come vuoi tu PC Specialist Lafité 14 AI AMD: assemblat...
iPhone 18, il mistero sul destino della ...
Motorola lavora al nuovo Razr 70 Ultra: ...
Il programma di ridimensionamento di One...
L'industria statunitense non è co...
La NASA cambia strategia per le missioni...
Mike Fincke, l'astronauta che ha avuto u...
I Meta Ray-Ban Display potrebbero non ar...
La serie di God of War ha trovato l'attr...
Il nuovo iPhone Fold si farà atte...
Ex CEO di Intel furioso verso Wall Stree...
Un foglietto di rame e le prestazioni di...
100 agenti AI per dipendente: quello che...
Le 10 migliori offerte del weekend Amazo...
75'' e 85'' QD-Mini LED: 2 TV interessan...
Offerte Amazon sui componenti hardware P...
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: 15:17.


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