Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1

    [VB 2008 DB Access] Filtrare una tabella tramite un ID preso da un'altra form.

    Buon pomeriggio a tutti. Quesito:
    Ho una form dove mi prende tramite la funzione duble click i dati da una gridviewer e fino a quà tutto ok.

    Quello che devo fare io ora è aprire un'altra form dove dentro ci devo inserire dei dati tramite textbox collegati ad un'altra griglia. Non ho problemi a fare l'inserimento ma chiaramente i risultati non sono filtrati.

    Passo a spiegarmi meglio:

    Cliente con un ID cliente. La form nuova che devo aprire è quella degli interventi e vorrei che la griglia mi mostrasse solo gli interventi collegati all'id del cliente selezionato e possa aggiungerli.

    Se non mi sono spiegato fatemi sapere che cerco di far miglior chiarezza.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    77
    basta che usi il metodo

    Public Class Form1

    Public Shared nuovo As String
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    nuovo = IDTextBox.Text

    Public Class Form2
    Form2.ParametroIDCliente = IDTextBox.Text
    Form2.Show()
    End If
    End Sub

    Private m_ParametroIDCliente As Long
    Public WriteOnly Property ParametroIDCliente() As Long
    Set(ByVal value As Long)
    m_ParametroIDCliente = value
    End Set
    End Property

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.xxxxxxxTableAdapter.FillBy(Me.CLIENTEDataSet.xx xxxxx, Me.m_ParametroIDCliente)
    End Sub

  3. #3
    Ciao Nokia, grazie, vediamo se ho capito bene:

    per filtrare la griglia solo con gli interventi del cliente aperto uso la prima parte del codice

    per l'aggiunta dell'intervento sul cliente uso il secondo?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    77
    allora mettiamo caso che io ho una form 1 con alcuni dati di un cliente ,questo cliente avra un codice itendificatore ok mettiamo caso che io suo id e 22 quella parte primaria non fa altro che riportarti il codice cliente nel secondo form dove devi aggiungere i dati poi e la queri che ti richiama il tutto prova se no mi sono spiegato bene ti creo un piccolo esempio di come lavora il codice

  5. #5
    allora, stò provando ad adattare quello che hai scritto al progetto, ma mi stà dando errore su:

    Public Class InterventiElenco
    InterventiElencoParametroIDCliente = IDTextBox.Text
    InterventiElenco.Show()
    End Class
    (Ho sostituito form2 con il form che ha all'interno la datagridview).
    Non so se è un problema, lo stò scrivendo sul form del dettaglio del cliente

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    77
    allora dimmi i due form che si devono comparare postami tutte e due form1 e ti faccio vedere come dovresti fare il codice posta il codice del 1 e quello che devi andare a giungere che sara 2 o come lai chiamato

  7. #7
    Ok, ma come faccio postartelo tutto? il primo form sono circa 270 righe.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    77
    allora form1

    Public Class Form1

    Public Shared nuovo As String

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    nuovo = IDTextBox.Text

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    nuovo = IDTextBox.Text
    Form2.ParametroIDCliente = IDTextBox.Text
    Form2.Show()
    End If
    End Sub
    fine form 1
    ----------------------------------------------------------------------------------------
    Public Class Form2
    Private m_ParametroIDCliente As Long
    Public WriteOnly Property ParametroIDCliente() As Long
    Set(ByVal value As Long)
    m_ParametroIDCliente = value
    End Set
    End Property

    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    'Me.xxxxxxxTableAdapter.Fill(Me.CLIENTEDataSet.xxx xxx)
    Me.xxxxxxxxTableAdapter.FillBy(Me.CLIENTEDataSet.x xxxx, Me.m_ParametroIDCliente)
    End Sub
    nel form2 dove ce il datagrid ho casa hai va creato la query per richiamare la funzione

  9. #9
    Questo è l'equivalente del tuo form1:
    -----------------------------------------------------------------------------------
    Imports Microsoft.VisualBasic.PowerPacks.Printing.Compatib ility.VB6
    Imports System.Drawing.Printing

    Public Class ClientDettaglio
    Private oDal As New DAL
    Private oQueries As New Queries
    Private _id As Integer = 0

    Public Sub New()

    ' Chiamata richiesta da Progettazione Windows Form.
    InitializeComponent()

    ' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().

    End Sub

    Public Sub New(ByVal pId As Integer)

    ' Chiamata richiesta da Progettazione Windows Form.
    InitializeComponent()

    ' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
    _id = pId
    End Sub

    Private Sub CaricaCliente(ByVal pId As Integer)
    'carico il cliente nel dettaglio

    Dim dt As New DataTable
    dt = oDal.GetDataSet(oQueries.QueryCliente(pId)).Tables (0)
    AggiornaDati(dt)
    End Sub

    Private Sub AggiornaDati(ByVal pDati As DataTable)
    'La stringa consente di caricare i vari dati dalla griglia
    IDtext.Text = pDati.Rows(0).Item("ID")
    ragSoctxt.Text = pDati.Rows(0).Item("Ragione Sociale")
    titolaretxt.Text = pDati.Rows(0).Item("Titolare")
    indirizzotxt.Text = pDati.Rows(0).Item("Indirizzo")
    teltxt.Text = pDati.Rows(0).Item("Telefono")
    cittatxt.Text = pDati.Rows(0).Item("Citta")
    provinciatxt.Text = pDati.Rows(0).Item("Provincia")
    captxt.Text = pDati.Rows(0).Item("Cap")
    mailtxt.Text = pDati.Rows(0).Item("E-Mail")
    Servertext.Text = pDati.Rows(0).Item("Configurazione Server")
    clientText.Text = pDati.Rows(0).Item("Client")
    retetext.Text = pDati.Rows(0).Item("Struttura Rete")
    End Sub

    Private Sub ClientDettaglio_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    inizializza()
    End Sub

    Private Sub inizializza()
    statoLetturaDettaglio(False)
    statoFinestra(statoAzione.salva)
    CaricaCliente(_id)
    End Sub

    Private Sub statoLetturaDettaglio(ByVal pStato As Boolean)
    IDtext.ReadOnly = pStato
    ragSoctxt.ReadOnly = pStato
    titolaretxt.ReadOnly = pStato
    teltxt.ReadOnly = pStato
    indirizzotxt.ReadOnly = pStato
    mailtxt.ReadOnly = pStato
    captxt.ReadOnly = pStato
    cittatxt.ReadOnly = pStato
    provinciatxt.ReadOnly = pStato
    Servertext.ReadOnly = pStato
    clientText.ReadOnly = pStato
    retetext.ReadOnly = pStato
    End Sub

    Enum statoAzione
    salva = 1
    modifica = 2
    aggiungi = 3
    elimina = 4
    End Enum

    Private Sub statoFinestra(ByVal pStato As statoAzione)
    Select Case pStato
    Case statoAzione.aggiungi
    modificaBT.Enabled = False
    SalvaBT.Visible = False
    AggiungiBT.Enabled = False
    SavenewBT.Visible = True
    IDtext.Enabled = False
    ragSoctxt.Enabled = True
    indirizzotxt.Enabled = True
    titolaretxt.Enabled = True
    cittatxt.Enabled = True
    captxt.Enabled = True
    teltxt.Enabled = True
    mailtxt.Enabled = True
    provinciatxt.Enabled = True
    Servertext.Enabled = True
    clientText.Enabled = True
    retetext.Enabled = True
    AnnullaBT.Visible = True
    interventiBT.Enabled = False
    Anteprima.Enabled = False
    StampaBT.Enabled = False
    Me.Text = "Aggiunta di una nuova anagrafica"
    Case statoAzione.elimina
    'Elimina
    Case statoAzione.modifica
    AggiungiBT.Enabled = False
    SalvaBT.Visible = True
    modificaBT.Enabled = False
    IDtext.Enabled = False
    ragSoctxt.Enabled = True
    indirizzotxt.Enabled = True
    titolaretxt.Enabled = True
    cittatxt.Enabled = True
    captxt.Enabled = True
    teltxt.Enabled = True
    mailtxt.Enabled = True
    provinciatxt.Enabled = True
    Servertext.Enabled = True
    clientText.Enabled = True
    retetext.Enabled = True
    AnnullaBT.Visible = True
    interventiBT.Enabled = False
    Anteprima.Enabled = False
    StampaBT.Enabled = False
    infoLabel.Visible = True
    Me.Text = "Dettagliato Clienti in modifica"
    Case statoAzione.salva
    SalvaBT.Visible = False
    modificaBT.Enabled = True
    AggiungiBT.Enabled = True
    SavenewBT.Visible = False
    IDtext.Enabled = False
    ragSoctxt.Enabled = False
    indirizzotxt.Enabled = False
    titolaretxt.Enabled = False
    cittatxt.Enabled = False
    captxt.Enabled = False
    teltxt.Enabled = False
    mailtxt.Enabled = False
    provinciatxt.Enabled = False
    AnnullaBT.Visible = False
    Servertext.Enabled = False
    clientText.Enabled = False
    retetext.Enabled = False
    interventiBT.Enabled = True
    Anteprima.Enabled = True
    StampaBT.Enabled = True
    infoLabel.Visible = False
    Me.Text = "Accesso Dettagliato Clienti"
    End Select
    End Sub

    Private Sub modificaBT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles modificaBT.Click
    'MsgBox("Ricorda che ogni campo deve contenere almeno un carattere")
    statoLetturaDettaglio(False)
    statoFinestra(statoAzione.modifica)
    End Sub

    Private Sub SalvaBT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalvaBT.Click
    'Me.ClientiTableAdapter.Update(Me.ClientiDataSet.C lienti)
    If Me.ragSoctxt.Text = "" Or titolaretxt.Text = "" Or indirizzotxt.Text = "" Or teltxt.Text = "" Or captxt.Text = "" Or cittatxt.Text = "" Or mailtxt.Text = "" Or provinciatxt.Text = "" Or Servertext.Text = "" Or clientText.Text = "" Or retetext.Text = "" Then
    MsgBox("Attenzione, alcuni campi non contengono i dati richiesti")
    Exit Sub
    Else
    Dim Risposta As Integer
    Risposta = MsgBox("Confermi il salvataggio?", vbQuestion + vbYesNo)
    If Risposta = vbYes Then
    oDal.ExecuteUpdate(oQueries.UpdateCliente(CInt(IDt ext.Text), ragSoctxt.Text, titolaretxt.Text, indirizzotxt.Text, cittatxt.Text, captxt.Text, provinciatxt.Text, teltxt.Text, mailtxt.Text, Servertext.Text, clientText.Text, retetext.Text))
    _id = CInt(IDtext.Text)
    CaricaCliente(_id)
    statoLetturaDettaglio(False)
    statoFinestra(statoAzione.salva)
    End If
    End If
    End Sub

    Private Sub AggiungiBT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AggiungiBT.Click
    statoLetturaDettaglio(False)
    statoFinestra(statoAzione.aggiungi)
    Me.ClientiBindingSource.AddNew()
    ragSoctxt.Text = "Ragione Sociale"
    ragSoctxt.Focus()
    indirizzotxt.Text = "Indirizzo"
    titolaretxt.Text = "Titolare"
    captxt.Text = "0000"
    cittatxt.Text = "Città"
    provinciatxt.Text = "PR"
    teltxt.Text = "N Telefono"
    mailtxt.Text = "mail@mail.it"
    Servertext.Text = "Specifiche Server"
    clientText.Text = "Dettaglio dei client"
    retetext.Text = "Immettere i dettagli"
    End Sub

    Private Sub InterventiBT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles interventiBT.Click
    Me.Show()
    InterventiElenco.ShowDialog()
    End Sub
    end class

    ----------------------------------------------------------------------------------

    Questo è l'equivalente del tuo form2

    ----------------------------------------------------------------------------------
    Public Class InterventiElenco
    Private Sub InterventiElenco_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'TODO: questa riga di codice carica i dati nella tabella 'UserDataSet.Utenti'. È possibile spostarla o rimuoverla se necessario.
    '.Fill(Me.UserDataSet.Utenti)
    'TODO: questa riga di codice carica i dati nella tabella 'UserDataSet.Utenti'. È possibile spostarla o rimuoverla se necessario.
    'TODO: questa riga di codice carica i dati nella tabella 'ClientiDataSet.Interventi'. È possibile spostarla o rimuoverla se necessario.
    Me.InterventiTableAdapter.Fill(Me.ClientiDataSet.I nterventi)
    SalvaBT.Visible = False
    StampaBT.Enabled = True
    End Sub

    Private Sub NuovoBT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NuovoBT.Click
    Me.Validate()
    Me.InterventiBindingSource.AddNew()
    NuovoBT.Enabled = False
    SalvaBT.Visible = True
    StampaBT.Enabled = False
    End Sub

    Private Sub SalvaBT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalvaBT.Click
    Me.Validate()
    Me.InterventiBindingSource.EndEdit()
    Me.InterventiTableAdapter.Update(Me.ClientiDataSet .Interventi)
    SalvaBT.Visible = False
    NuovoBT.Enabled = True
    StampaBT.Enabled = True
    End Sub

    Private Sub StampaBT_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StampaBT.Click
    Me.Show()
    Stampa.ShowDialog()
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim frm As New frmData()
    'frm.Show()
    frm.ShowDialog(Me)
    Me.txtData.Text = frm.in_DataSelezionata
    End Sub
    End Class

    ------------------------------------------------------------------------------------

  10. #10
    La query intendi m_ParametroIDCliente?

    e come la strutturo?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.