Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    4

    [VB6] Ricavare ID record da MSHFlexGrid

    Ciao a tutti,

    Ho un bel problema riguardante l'evento doubleclick di Flexgrid.
    Io ho due Form. Nel primo (Form1) è presente il Flexgrid con alcuni campi del database e le varie opzioni di ricerca. Tramite l'evento dblclick voglio aprire il secondo Form (Form2) che contiene la scheda completa dell'utente, con i vari textbox e i command di modifica, eliminazione e aggiunta schede. Il problema, che non riesco a superare, è capire come diavolo posso innanzitutto ricavare dall'evento dblclick l'id del record, e poi passare questo dato al Form2 per fare la query che richiama la scheda completa.

    Potreste darmi una mano?

    Vi ringrazio in anticipo, buona giornata a tutti ^^

  2. #2
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Semplice,
    quando popoli la griglia, oltre agli altri dati, carichi anche l'ID in una colonna nascosta.
    Al doppio clic leggi l'ID della riga selezionata e lo passi al form.

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    4
    Ciao Gibra,
    in effetti nell'evento doubleclick io faccio proprio questo, il problema è che non riesco a passarla all'interno del secondo form.
    Ti inserisco l'evento dblclick() cosi mi spiego meglio:

    Codice PHP:
    Private Sub flex_DblClick()
    Dim idf As String
    If flex.Row 0 Then
    idf 
    flex.TextMatrix(flex.RowSelflex.Col)

    Me.Hide
    Form2
    .Show vbModal
    End 
    If
    End Sub 
    Dove naturalmente la prima colonna indica l'ID del Record.

    Ti chiedo velocemente due cose:

    Dato che il form2 mi si apre correttamente, ma non mi viene visualizzato nulla nei textbox, è un problema di passaggio di variabile (sul quale lavoro brancolo nel buio) oppure è un problema di query?

    L'evento dblclick cosi come te l'ho riportato è esatto?

    Grazie in anticipo^^

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma come passi idf al secondo form?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    4
    Originariamente inviato da oregon
    Ma come passi idf al secondo form?
    Allora inizialmente ho pensato di dichiarare public la variabile idf nel form2, ma non ha funzionato.

    Siccome brancolo nel buio (sto riutilizzando VB da una settimana, dopo un decennio di inattività) vi chiedo come posso muovermi per passare la variabile.

    Grazie in anticipo ^^

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Dichiara idf in un modulo ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    4
    Allora ho risolto la cosa.

    I metodi, che mi sono stati suggeriti sia in questo che in un altro forum, sono i seguenti:

    1. Dichiarare Pubblica la variabile di interesse, all'interno di un modulo

    Codice PHP:
    Public Variabile As Tipo 
    Questo permette di utilizzare la variabile in qualsiasi istante all'interno di un Form

    2. Metodo più consigliato, è il dichiarare una variabile come privata, e creare due routine nel Form di destinazione (che nel mio caso era il secondo):
    Codice PHP:
    'FORM2
    Dim iMioDato As Integer

    Public Property Let MioDato(ByVal NewValue As Integer)
    iMioDato = NewValue
    End Property

    Public Property Get MioDato() As Integer
    MioDato = iMioDato
    End Property 
    All'interno poi dell'evento dblClick (sempre nel mio caso) del Form chiamante, inserire questa sintassi per richiamare la property:
    [PHP]
    'FORM1
    Load TuoSecondoForm
    TuoSecondoForm.MioDato = 12345
    TuoSecondoForm.Show
    [PHP]

    Ringrazio l'utente TheTruster per la risposta.

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.