PDA

View Full Version : [VB] passare un valore ad un altro form


race2
09-09-2002, 10:15
con VB.NET,

Ho questo problema:

Ho un Form = "Form1.vb" dove si trova una "ListView multicolonna", per estrarre l'ID che ho nela prima colonna della "ListView" faccio questo:

Dim ID As String = ListView1.SelectedItems.Item(0).Text

poi nel progetto ho pure un secondo Form = "Form2.vb" dove vogli visualizzare dei dati da un Database dato l'ID selezionato,

es:


conn.Open()
Dim comm As New OleDbCommand("SELECT * FROM Tabella WHERE ID = '" & ID & "'", conn)
Dim read As OleDbDataReader = comm.ExecuteReader
Dim li As ListViewItem
read.Read()

...
MsgBox(read("Campo"))
...

End While
conn.Close()



ma come faccio per potere passare l'ID dal "Form1.vb" al "Form2.vb" ???

tas
09-09-2002, 10:50
Basta aggiungere una variabile privata e un nuovo costruttore al Form2:

Private MyID As Long

Public Sub New(ByVal id As Long)
Me.New()
myID = id
End Sub

In questo modo potrai creare il Form2 in questo modo:

Dim f As Form2
Dim id as Long

id = CLng(ListView1.SelectedItems.Item(0).Text)

f = New Form2(id)
f.Show()

race2
09-09-2002, 11:01
Dim Form As Form2()
Dim ID As Long = CLng(lwDomini.SelectedItems.Item(0).Text)
Form = New Form2(ID)
Form.Show()


mi da errore, mi evidenzia ID tra le parentesi, e se ci appoggio il cursore mi dice: "Troppi argomenti per Public Sub New"

tas
09-09-2002, 11:31
A me funziona perfettamente... hai aggiunto a Form2 il nuovo costruttore New?

race2
09-09-2002, 11:37
Ma in VB.NET io non faccio queste cose di solito e non so cosa significa, dovresti dirmi qualcosa in piu'

tas
09-09-2002, 11:54
Guarda l'esempio

race2
09-09-2002, 12:02
OK, ho fatto dichiaranndo una Public ID as integer su un modulo cosi la vedo da tutto il progetto ed e' molto pratica come soluzione, poi scarico la tua e la guardo, grazie per ora ciao!!!