Avatar billede juks Novice
24. oktober 2001 - 15:37 Der er 4 kommentarer og
1 løsning

opdatering af runtime accessdb

Hej !
Jeg har lavet en access-database som vi har solgt og distriburet til en masse kunder, nu har jeg så fundet en lille fejl, i 1 rapport. jeg vil så gerne lave en exe-fil der skal tilføjes en Event der hedder...
kodestart-----

Private Sub Report_Open(Cancel As Integer)
Me.Diagram84.Requery
End Sub

slut.-------

i en rappport der fx. hedder  \"graf1.\"
Databasen hedder \"forsøg.mdb\"
Det er lavet i access2000
hvordan gør jeg det nemmest... i VB
Avatar billede bennytordrup Nybegynder
24. oktober 2001 - 20:01 #1
Som jeg forstår det, så er løsningen lavet direkte i Access samt, at kode, formularer og rapporter ligger i samme fysiske mdb-fil som data.

Hvis det er tilfældet, vil jeg mene, at du har et problem. Du kan (mig bekendt) ikke lave ændringer til kode og lignende i mdb-filen uden at overskrive med en ny - og dermed overskrive kundernes data. Skal du gøre det, skal du manuelt konvertere kundernes databaser :-(

Hvis løsningen skal laves i Access, så vil du spare dig for en hulens masse besvær ved at lade de fysiske data ligge i en separat database. Den må ikke overskrives på nogen måde. I applikationsdatabasen tilføjer du så de tabeller, der skal bruges fra data-databasen som sammenkædede databaser. Den kan du ændre og overskrive såfremt, du i en load-procedure så tidligt som muligt kontrollerer sammenkædningerne på tabellerne.
Avatar billede juks Novice
24. oktober 2001 - 23:25 #2
den er lavet ... og i en samletdatabase så den er ikke en løsning, jeg har før lavet en modul i VB der gik ind og fjernede en relation i samme database hos kunderne. men jeg ved ikke hvordan jeg kan tilføje en (create)event vha. VB i Access

START----------------

Set db = OpenDatabase(Database)
   
    Dim X As Integer                                    \'Dette er luxuskode forfattet af Jakob
    Dim tal, tabel As String
    tal = 0
    If db.Relations.Count > 0 Then
    For X = 0 To db.Relations.Count - 1
     
      tabel = db.Relations(tal).Table
     
      If tabel = \"TA_Uddannelsesniveau\" Then
      db.Relations.Delete db.Relations(tal).Name
      db.Close
      Exit For
      End If
     
      tal = tal + 1
    Next
SLUT----------
Avatar billede bennytordrup Nybegynder
25. oktober 2001 - 07:02 #3
Der er væsentlig forskel på at fjerne en relation via VB og at tilføje en hændelsesprocedure.

Fjerner du en relation, manipulerer du direkte på diverse databaseobjekter - og det er via DAO (hvilket din kode ovenfor bærer tydeligt præg af).

Skal du tilføje en hændelsesprocedure, er det ikke gennem DAO. Det er Access objects, og dem ved jeg ikke, om du kan få fat i uden videre.
Avatar billede juks Novice
25. oktober 2001 - 12:06 #4
Er der nogen der har en ide
Avatar billede juks Novice
25. oktober 2001 - 13:48 #5
prøver lige at lukke og åbne et nyr
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester