Access nøgle Her er lidt tips til Access 2.0 og 97 Access nøgle

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
KomboBoks er en kombo-boks, der har følgende indstillinger:

Egenskabsark for komboboks

IkkePåListeEgenskab 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å tabel navn T_PostNrBy tabellen.
Klik så på iconen Ny forespørgsel Ny Forespørgsel, og vælg Ny forespørgsel.

Klik så på Opdateringsforespørgsel iconen Opdateringsforespørgsel og følgende dialogboks fremkommer:

Forespørgsels egenskabs ark 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:
QBE gitter
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