Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5 introduce Dynamic Multi Frame Generation e MFG 6X, permettendo fino a cinque frame generati per ogni frame renderizzato. I test su Cyberpunk 2077 e 007 First Light mostrano forti incrementi di FPS e riduzione della latenza su RTX 5090 Laptop. Migliorano fluidità, stabilità e qualità visiva.
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere)
Quattro modi di indossarlo, stessa app del Plaud Note Pro e integrazione con il desktop. Il registratore IA da indossare di Plaud eccelle in mobilità, ma resta vincolato all'abbonamento ed è facile da perdere
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


Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ADV, ma con molti più pulsanti Mad Catz M.M.O. 7+: lo stesso DNA del R.A.T. 8+ ...
SpaceX Starfall, capsule per lo sviluppo...
Fable 5, il modello Mythos di Anthropic ...
Costruire sulla Luna: i test per le futu...
La NASA ha annunciato gli astronauti del...
Mondiale 2026, Lenovo unico partner tecn...
007 First Light ha venduto più di...
Harley-Davidson, svelato il prezzo itali...
PC Windows 11 in crash: ma la colpa è di...
Dopo i 'NO 5G' arrivano i 'NO FIBRA'? Ar...
Promettono un parco e costruiscono un da...
L'aeroplano supersonico ''silenzioso'' N...
Euro-Office sbugiardata da LibreOffice: ...
I 10 sconti TOP Amazon: 4 novità ...
Galaxy Z Flip 8, in Europa avrà i...
SpaceX annuncia i satelliti AI1 destinat...
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: 03:44.


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