Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator
Dopo oltre 4 anni si rinnova la serie Sony Alpha 7 con la quinta generazione, che porta in dote veramente tante novità a partire dai 30fps e dal nuovo sensore partially stacked da 33Mpixel. L'abbiamo provata per un breve periodo, ecco come è andata dopo averla messa alle strette.
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1
realme e Aston Martin Aramco F1 Team si sono (ri)unite dando alla vita un flagship con chip Snapdragon 8 Elite Gen 5 e design esclusivo ispirato alle monoposto di Formula 1. La Dream Edition introduce la nuova colorazione Lime Essence abbinata al tradizionale Aston Martin Racing Green, decorazioni intercambiabili personalizzate e una confezione a tema F1, intorno a uno smartphone dall'ottima dotazione tecnica con batteria da 7000mAh ricaricabile a 120W e isola fotografica intercambiabile
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum
Abbiamo partecipato all'OVHcloud Summit 2025, conferenza annuale in cui l'azienda francese presenta le sue ultime novità. Abbiamo parlato di cloud pubblico e privato, d'intelligenza artificiale, di computer quantistici e di sovranità. Che forse, però, dovremmo chiamare solo "sicurezza"
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 19-10-2006, 23: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, 23: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


Sony Alpha 7 V, anteprima e novità della nuova 30fps, che tende la mano anche ai creator Sony Alpha 7 V, anteprima e novità della ...
realme GT 8 Pro Dream Edition: prestazioni da flagship e anima racing da F1 realme GT 8 Pro Dream Edition: prestazioni da fl...
OVHcloud Summit 2025: le novità del cloud europeo tra sovranità, IA e quantum OVHcloud Summit 2025: le novità del cloud...
Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI Care e DisplayPort 2.1a Un mostro da MSI: QD-OLED WQHD a 500 Hz con AI C...
DJI Neo 2 in prova: il drone da 160 grammi guadagna il gimbal e molto altro DJI Neo 2 in prova: il drone da 160 grammi guada...
AWS rinnova lo stack dell’IA: Trainium3,...
AWS entra nell'era degli agenti: il keyn...
Roscosmos: inventario a bordo della ISS ...
Arduino viene acquisita da Qualcomm e ca...
Un razzo spaziale Arianespace Vega C ha ...
Terra Next dà il via a Scale-Up P...
Il veicolo riutilizzabile ESA Space Ride...
Un Mousepad per mirare meglio: uno youtu...
Tokyo Electron sotto accusa: Taiwan cont...
L'ESA sta cercando alternative all'utili...
iliad TOP 250 PLUS e TOP 300 PLUS: valan...
FRITZ! a Sicurezza 2025: connessioni WiF...
I 18enni di oggi non fanno più la...
Super offerte Apple: iPhone 16e a 529€ e...
Torres EVT arriva in Italia con listino ...
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: 04:29.


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