Möjligheten att söka från andra databaser än den du använder för tillfället kan göra din Access applikation mer dynamiskt , du kan utföra detta med Visual Basic for Applications ( VBA ) . I VBA kan du använda " OpenDatabase " metod för att ange sökvägen och namnet på den databas som du vill fråga . När du har definierat i databasen , kan du använda " Recordset " objektet för att visa resultatet av din sökning . Saker du behöver
Northwind 2007 databas
Visa fler instruktioner
1 Tillgång
Launch 2007 , klicka på " Tom databas " och sedan klicka på " Skapa " -knappen . Välj "Database Tools " och klicka sedan på " Visual Basic . "
2
Skapa ett nytt förfarande genom att skriva följande kod :
Private Sub queryDatabase ( )
Sida 3
Skapa tre nya variabler genom att skriva följande VBA -kod :
Dim rst som Recordset
Dim dbs som databas
Dim sqlstr As String
4
Definiera databasen som du kommer att fråga genom att ange följande kod :
Set dbs = OpenDatabase ( " C : \\ Northwind 2007.accdb " )
5
Skapa en SQL- sträng genom att skriva följande kod för att skapa en fråga :
sqlstr = " . . SELECT beställningar [ Fartyg ] beställningar [ Ship Adress ] "
sqlstr = sqlstr & " FROM Orders "
sqlstr = sqlstr & " GROUP BY beställningar [ Fartyg ] , order [ Ship Adress ] , . . "
6
Kopiera och klistra in följande kod för att öppna frågan genom ett " Recordset " och resultatet visas till direktfönstret :
Set rst = dbs.OpenRecordset ( sqlstr ) katalog
rst.MoveLast
rst.MoveFirst
Do While Not rst.EOF
Debug.Print rst.Fields ( " Fartyg " ) . Value
Debug.Print rst.Fields ( " Ship Address " ) . värde
rst.MoveNext
Loop
7
Avsluta din procedur genom att skriva följande kod :
rst.Close
dbs.Close
End Sub