Avatar billede juks Novice
27. april 2001 - 14:37 Der er 5 kommentarer og
1 løsning

hvorfor virker den ikke i runtime

Jeg har lavet data base der hedder xxx den er lavet som en runtime version....
og når jeg prøver at slette den relation virker den ikke.  hvis jeg henter filen ind i access sletter relationen og opretter den præcis samme igen virker det ?????
hvorfor ?? ig hvad kan jeg gøre ved det ....

Dim db As DAO.database
    Dim rel As DAO.Relation
    \'Dim db As database
    \'Dim rel As Relation
    Set db = OpenDatabase(\"c:\\xxxx.mdb\")
\'On Error GoTo er_opdateret
  Dim nn As String
 
    nn = \"TA_UddannelsesniveauTA_Testpersoner Stamdata\"
   
  db.Relations.Delete (nn)

    MsgBox \"Opdateringen fuldført\"
    DoCmd.Quit
27. april 2001 - 16:18 #1
Prøv at lave den i ADO i stedet for DAO.
Forinden skal du lige huske at sætte en reference til ADOX (Microsoft ADO Ext. 2.5 for DDL and security)

  Dim cat As New ADOX.Catalog
  Dim tbl As ADOX.Table
  cat.ActiveConnection = \"Provider=Microsoft.Jet.OLEDB.4.0;\" & _
  \"Data Source=C:\\xxxx.mdb;\"
  Set tbl = cat.Tables(\"TA_Uddannelsesniveau\")
  tbl.Keys.Delete \"TA_UddannelsesniveauTA_Testpersoner Stamdata\"


TA_Uddannelsesniveau skal muligvis byttes ud med \"TA_Testpersoner Stamdata\" afhængigt af hvilken der er foreign key til hvilken.

Hvis relationen ligger i den aktueller database, behøver du heller ikke lave den lave connectionstring, men blot lave 3. linie om til
cat.ActiveConnection = currentproject.connection

/Thomas

PS: Lad nu være med at acceptere mit svar før du mener det ;o)
Avatar billede terry Ekspert
30. april 2001 - 17:04 #2
I\'m a little confused!
A runtime will normally have extension .mde and not .mdb

The purpose of having a runtime is to stop users modifying the dB. So it sounds right that your not allowed to doesnt it?
30. april 2001 - 21:53 #3
Hi Terry,

A runtime is a limited version of Access where you have no design-mode. The databases, you run, is the same as usual. It can be a .mdb or .mde (or .mda).
Therefore you can do the same things in VBA as you would in the normal version of Access.
A .mde is a semi-runtime access-file. In a .mde you also have limited access to design-mode, but this is controlled by the database and not by Access.

Do you see the difference?

The purpose of using a Runtime is to let users run an Access-application without having to install Microsoft Office and without having any licens at all. You are free to distibute Access-runtimes without any licens...all you need is \"Microsoft Office Developers Edition\" to create the runtime. It costs approximatly 6-7.000 Dkr.

/Thomas
Avatar billede juks Novice
01. maj 2001 - 09:05 #4
JEg fandt en løsning til at gøre ved hjælp af nummret på forspg.. istedet det virkede  men vi lavede det i VB...

Dim db As DAO.Database
Dim rel As DAO.Relation
Dim fld As DAO.Field
Dim Database As String

Database = sti

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
   
    MsgBox \"Opdateringen fuldført\"
    End
    End If                                             
   


Avatar billede juks Novice
01. maj 2001 - 09:05 #5
JEg fandt en løsning til at gøre ved hjælp af nummret på forspg.. istedet det virkede  men vi lavede det i VB...

Dim db As DAO.Database
Dim rel As DAO.Relation
Dim fld As DAO.Field
Dim Database As String

Database = sti

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
   
    MsgBox \"Opdateringen fuldført\"
    End
    End If                                             
   


Avatar billede juks Novice
01. maj 2001 - 09:12 #6
nu kom jeg til det igen ...........
din kode virkede ikke.....
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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