Eli kun tietokannasta haetaan vaikka nimen perusteella dbcomboon dataa, niin miten saan dbcombosta tehtävän valinnan kautta data2:n hakemaan tietokannasta haluttavan tiedon? Eli dbcombolla pitäisi jotenkin käskyttää data2:sta?
Moikka Toitsu!
Tässä pientä vinkkiä...
Private Sub DataCombo1_Click(Area As Integer) Dim strKysely As String strKysely = "Select * From Taulu Where ID = " & _ DataCombo1.Value 'esim. Data2.RecordSource = strKysely Data2.Refresh End Sub
Moikka taas Toitsu!
mikäli et ole vielä toteuttanut 'combo' viritelmääsi niin tässä olis yx malli
'Formille yx Data kontrolli, yx ComboBox ja yx MSFlexGrid
'aseta MSFlexGrid1 DataSource ominaisuudeksi Data1
Private Sub Form_Load()
Dim filename As String
filename = "BIBLIO.MDB"
Dim db As Dao.Database
Dim rs As Dao.Recordset
Set db = OpenDatabase(filename)
Set rs = db.OpenRecordset("Select * From Publishers")
If rs.RecordCount > 0 Then
rs.MoveFirst
Do While Not rs.EOF
Combo1.AddItem rs!Name
rs.MoveNext
Loop
End If
rs.Close: db.Close
Set rs = Nothing: Set db = Nothing
Combo1.ListIndex = 0
Data1.DatabaseName = filename
Data1.RecordSource = Publishers
Data1.RecordsetType = 1
End Sub
Private Sub Combo1_Click()
Dim strKysely As String
strKysely = "Select * From Publishers Where Name = '" & _
Combo1.Text & "';"
Data1.RecordSource = strKysely
Data1.Refresh
End Sub
' Mikäli käytät DataCombo'a niin SQL on...
' "Select * From Taulu Where Sarake = '" & DataCombo1.BoundText & "';"
'... joudut myös käyttämään Adodc/DataGrid yhdistelmääMoikka taas Toitsu!
...vielä pikku lisäys, elikä SQL toimii paremmin ilman semi-hipsuja...mikäli taulussa on jossain nimessä hipsu kuten esim. O'Reilly tms...
strKysely = "Select * From Publishers Where Name = " & _
Chr$(34) & Combo1.Text & Chr$(34) & ";"Mikä ihmeen viritys? Tai jos esitän asian niin, että mitenköhän toi toimii, jos nimessä onkin vastaavasti lainausmerkki?
Ehkä toimivampi vaihtoehto olisi
strKysely = "select * from Publishers where [Name]='" & _
Replace(Combo1.Text,"'","''")& "';"Siis oletuksella että tietokanta on esimerkiksi MS SQL Server tai MS Access.
(btw, mikä on semi-hipsu?)
Aihe on jo aika vanha, joten et voi enää vastata siihen.