sykkelknut1 Skrevet 28. juni 2004 Del Skrevet 28. juni 2004 Ønsker følgende funksjonalitet i en form : Brukeren skal velge "verdier" i to forskjellige listefelt (combobokser). Utifra hva brukeren har valgt i disse to feltene skal det kjøres en spørring i en access database for å finne alle postene som matcher dette utvalget. Hvordan gjøres dette ?. Ønsker gjerne at disse postene skal komme frem en og en, dvs. at brukeren kan bla seg fra post til post og eventuelt redigere, slette osv. Lenke til kommentar
svamp Skrevet 2. juli 2004 Del Skrevet 2. juli 2004 Du kan bruke en vanlig sql-spørring. Du trenger en datagrid-kontroll og en ado-datakontroll. Option Explicit dim strSql as string dim strUtvalg as string 'Brukeren har valgt i boksen, og klikker OK Private Sub cmdUtvalg_Click() strUtvalg = combo1.text strSql = "SELECT * FROM Tabell WHERE (((Tabell.Felt) Like '" & strUtvalg & "')) ORDER BY EtFelt ASC" VelgPoster End Sub Private Sub VelgPoster() Adodc1.RecordSource = strSql Set DataGrid1.DataSource = Adodc1 Adodc1.Refresh End Sub 'Jeg måtte lage en DSN-fil for å få kontakt med databasen med Ado-datakontroll. 'Husker ikke hvor jeg lagde den, det var en mappe i windows som het my data 'sources eller noe sånt. Du finner det sikkert ut. Private sub Form_Load() AdoDc1.ConnectionString = "FILE NAME=" & App.Path & "DinFil.dsn" End sub ConnectionString kan du sikkert også sette i properties for adodc'en, i steden for i form_load. Jeg brukte kontrollen med kode og hadde ikke noe egenskaper-vindu for den. Dette var koden for å velge ut poster ut fra 1 verdi. Kanskje det går an å sette inn litt ekstra i strSql for å bruke 2 verdier, slik kanskje: strSql = "SELECT * FROM Tabell WHERE (((Tabell.Felt) Like '" & strUtvalg & "')) AND (((Tabell.Felt2) Like '" & strUtvalg & "')) ORDER BY EtFelt ASC" Håper dette kanskje hjalp litt? Lenke til kommentar
aadnk Skrevet 2. juli 2004 Del Skrevet 2. juli 2004 (endret) Det er også mulig å bruke en connection-less metode å koble seg til databasen på. Denne koden her vil f.eks markere raden skrevet i Combo1 fra tabellnavnet i Combo2: Dim conn As Object, rs As Object, strSQL Set conn = CreateObject("ADODB.Connection") conn.Provider = "Microsoft.Jet.OLEDB.4.0" conn.Open "C:/webdata/northwind.mdb" Set rs = CreateObject("ADODB.Recordset") strSQL = "SELECT " & Combo1.Text & " FROM " & Combo2.Text rs.Open strSQL, conn ADO er ikke særlig vanskelig å bruke, og jeg tror ikke det skulle by til særlig mangen problemer å implimere muligheten å bla seg fra post til post, og så redigere, legge til eller slette. Endret 2. juli 2004 av aadnk Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå