Hej! Hej AZ och tack för hjälp. Du måste ha en referens till Microsoft DAO 3.51 ??? Ytterligare felkällor. Tack för svar!Fylla MSFlexGrid från Access databas med SQL
Jag vill fylla en MSFlexGrid med data från en Access databas. Nedan finns en kod som iof fungerar, men jag vill lite mer.
1/ Hur tar man reda på kolumnnamnen? Dessa vill sedan jag få längst upp i "griden".
2/ I koden nedan måste man veta vilka kolumner som finns i tabellen.
Om jag nu ändrar i tabellen (via Access) tex lägger till en kolumn till då måste jag ju också koda om i VB-programmet. Kanske är det bättre att programmet själv tar reda på vilka kolumner som finns då det är dags att fylla i MSFlexGrid, men hur då?
Mvh Pontus
Dim db As Database
Set db = OpenDatabase("atslogg.mdb")
Set rs = db.OpenRecordset("select * from anmärkningar where anm_sign = 'pk'")
If rs.RecordCount > 0 Then
MSFlexGrid2.Rows = 1
Do While Not rs.EOF
MSFlexGrid2.AddItem rs("anm_datum") & vbTab & rs("anmärkning") & vbTab & rs("anm_sign")
rs.MoveNext
Loop
End If
rs.CloseSv: Fylla MSFlexGrid från Access databas med SQL
Här kommer ett exempel på hur du läser fältnamnen i en tabell och lägger dessa som kolumnnamn i griden. Du kan givetvis också lagra dessa i en array för användning senare i programmet.
Dim tbfTemp As TableDef
Dim fldTemp As Field
Dim Db As Database
Dim tabellnamn As String
Dim i As Integer
Set Db = OpenDatabase("Namn och sökväg till databasen")
Set tbfTemp = Db.TableDefs("Namn på tabellen du vill hämta fältlistan från")
MSFlexGrid1.FixedRows = 1
MSFlexGrid1.Rows = 1
MSFlexGrid1.Cols = tbfTemp.Fields.Count
For Each fldTemp In tbfTemp.Fields
tabellnamn = tbfTemp.Name
MSFlexGrid1.TextMatrix(0, i) = fldTemp.Name
i = i + 1
Next
Mvh
AZSv: Fylla MSFlexGrid från Access databas med SQL
Det fungerade dock inte helt bra. Det är nog något enkelt fel
men jag kommer inte på vad just nu.
RunTime error '13'
Type mismach
Felet uppstår på rad 13 (se nedan)
Vet du varför? Saknar jag någon reference??
Mvh
Pontus
Dim tbfTemp As TableDef
Dim fldTemp As Field
Dim Db As Database
Dim tabellnamn As String
Dim i As Integer
Set Db = OpenDatabase("atslogg")
Set tbfTemp = Db.TableDefs("anmärkningar")
MSFlexGrid1.FixedRows = 1
MSFlexGrid1.Rows = 1
MSFlexGrid1.Cols = tbfTemp.Fields.Count
For Each fldTemp In tbfTemp.Fields ''''''''''HÄR BLIR DET FEL!''''''''''''''''
tabellnamn = tbfTemp.Name
MSFlexGrid1.TextMatrix(0, i) = fldTemp.Name
i = i + 1
NextSv: Fylla MSFlexGrid från Access databas med SQL
Sv: Fylla MSFlexGrid från Access databas med SQL
Har ibland haft problem när man namnger filer eller tabeller eller fältnamn med å ä ö.
Hör av dig annarsSv: Fylla MSFlexGrid från Access databas med SQL
Jag får använda Microsoft DAO 3.6 istället för 3.51
annars fungerar det inte med "nya" Access databas.
Pontus