På hem.passagen.se/d98rolb3/upload/ ligger en bilden relations.gif som beskriver hur min databas ser ut nu. Planen är sen att komma åt den ifrån ett VB-program. Det går bra att komma åt värdena i tabellen Transfer. Men fälten Shop och Account är bara index som hänvisar till tbellerna Shop och Account. Hur gör jag för att komma åt dessa tabeller istället för indexet i Transfer? Du bör lära dig SQL. Det finns kurser på nätet. Det är ju lysande, det funkar perfekt iaf i mySQL. Jag installerade mySQL för jag tyckte det var smidigare att kunna testa interaktivt direkt med SQL-satser mot databaser.Uppslagstabell från VB?
Här är lite VB-kod hur jag gör nu:
Option Explicit
Dim fPath As String
Dim UpdateFrequency As Integer
Dim prevOrder As Integer
Dim connstr As String
Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim itmX As ListItem
Dim ShopInd As Integer
Dim AccountInd As Integer
Private Sub Form_Load()
connstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\Roland B\My Documents\Access\Ekonomi.mdb;Persist Security Info=False"
' Create connection
Set conn = VBA.CreateObject("ADODB.Connection")
' Open database
conn.Open connstr
Set rs = VBA.CreateObject("ADODB.Recordset")
rs.Open "SELECT Date, Sum, Shop, Account FROM Transfer ORDER BY Date", conn
Me.Move (Screen.Width - Me.Width) \ 2, (Screen.Height - Me.Height) \ 2
txtDate.Text = rs("Date")
txtSum.Text = rs("Sum")
'Return an index
ShopInd = rs("Shop")
AccountInd = rs("Account")
UpdateFrequency = 25
prevOrder = 0
End SubSv: Uppslagstabell från VB?
Exempel på en join sats:
<code>
strSQL = "SELECT Transfer.Date, Transfer.Sum, Transfer.Shop, Shop.Shop AS ShopName, Transfer.Account, Account.AccountName" & vbCrLf & _
"FROM (Transfer LEFT JOIN Shop ON Transfer.Shop = Shop.ShopId) LEFT JOIN Account ON Transfer.Account = Account.AccountId" & vbCrLf & _
"ORDER BY Date"
rs.Open strSQL, conn
</code>Sv: Uppslagstabell från VB?