Her er lidt tips til Access 2.0 og 97
Tilbage til Access-siden
Denne side er oprettet 25 jan 1999.
Foreløbig er der to tips vedr. kombobokse or et enkelt vedr. fejl i kode:
Sidst hvordan du flytterdata fra en tabel i en database til samme tabel i anden database.
Koderne er skrevet til Access 2.0 men kan også bruges i 97.
Indtastede er ikke en del af liste, og skal derfor tilføjes
Find Post ved hjælp af ubundet Komboboks
Afhjælpning af u-forudsete fejl i AccessBasic kode
Flyt data fra en tabel i en database til tabel i anden database
Indtastede er ikke en del af liste, og skal derfor tilføjes
er en kombo-boks, der har følgende indstillinger:
har følgende kode:
Sub LøbsArt_NotInList (newdata As String, response As Integer)
Dim strMsg As String
Dim rst As Recordset
Dim db As Database
Const MB_YESNO = 4
Const MB_QUESTION = 32
Const IDNO = 7
strMsg = "'" & newdata & "' er ikke i listen."
strMsg = strMsg & "Vil du tilføje løbsarten?"
If MsgBox(strMsg, MB_YESNO + MB_QUESTION, "Ny løbsart") = IDNO Then
response = DATA_ERRDISPLAY
Else
Set db = DBEngine.Workspaces(0).Databases(0)
Set rst = db.OpenRecordset("T_LøbsArt")
rst.AddNew
rst("LøbsArt") = newdata
rst.Update
response = DATA_ERRADDED
End If
End Sub
Find Post ved hjælp af ubundet Komboboks:
På formular der er bundet til en tabel/forespørgsel, kan der vises bestemt post ud fra en ubundet komboboks.
I EfterOpdatering skrives følgende kode:
Sub cboNavn_AfterUpdate ()
Dim rst As Recordset
Set rst = Me.RecordsetClone
rst.FindFirst "[OrgID] = " & Me!cboNavn
If rst.nomatch Then
MsgBox "Ingen fundet. Der er virkeligt noget galt"
Else
Me.bookmark = rst.bookmark
End If
rst.Close
End Sub
Husk at [OrgID] og Me!cboNavn er ID'er!!!
KomboBoks skal bindes til liste. Husk rette antal kolonner og den rigtig kolonne der skal bindes (den med ID'et)
I Form_Current skrives:
Sub Form_Current ()
Me!cboNavn = Me!OrgID
End Sub
Så vises det rigtige navn ved start af formularen og hver gang der skiftes til en anden post.
Afhjælpning af u-forudsete fejl i AccesBasic kode:
Det kan være en god ide, at lave en rutine der fanger uforudsete fejl og viser dem som tekst uden at programmet stopper af den grund.
Som anden linie i AccesBasic koden skrives der:
On Error Goto Err_"Rutinenavn" ' Ofte er det et Knap_Click-navn
Her efter følger access basic koden.
til sidst skrives:
Exit_"Rutinenavn":
Exit Sub
Err_"Rutinenavn":
' Her kan ligge: MsgBox err,errline
MsgBox Error
Resume Exit_"Rutinenavn"
End Sub
Flyt data fra en tabel i en database til tabel i anden database:
Flyt data i T_PostNrBy fra DIN_DATA.MDB til T_PostNrBy i ADR_DATA.MDB.
Åben DIN_DATA.MDB og stil dig på
T_PostNrBy tabellen.
Klik så på iconen
Ny Forespørgsel, og vælg Ny forespørgsel.
Klik så på Opdateringsforespørgsel iconen
og følgende dialogboks fremkommer:
Udfyld med tabelnavn hvortil data skal flyttes, og marker En anden database og skriv så stinavnet på den.
Godkend det hele med
.
Der fremkommer nu et QBE-gitter hvor Fra-tabellen (DIN_DATA) er lagt ind under linien Felt:
I Føj til , der er tabellen hvor data skal flyttes til (ADR_DATA), findes det samme felt.
Hedder felterne ikke det samme, kan de tilsvarende findes ved at åbne kombo-pilen
Alle felter der skal overføres, tilføjes Forespørgselsgitteret
Klik nu på Kør-iconen
og opdateringen udføres.
Der komme nu en meddelelse om hvor mange rækker der blev tilføjet:
Nogle gang kommer der yderligere oplysninger om selve overførslens resultat:
Til slut lukkes forespørgslen uden at gemme den, da den ikke skal bruges mere.
Data er nu flyttet til tabellen i ADR_DATA.MDB