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.