Avatar billede juks Novice
02. oktober 2003 - 19:11 Der er 9 kommentarer og
1 løsning

opret felt i backend via frontend

hejsa
er der nogen der har en god løsning til hvordan jeg opretter et felt i en eksisterne tabel( i en backend)  via en knap i min frontend
02. oktober 2003 - 20:12 #1
Jeg kan ikke huske syntaksen 100%, men det ser nogenlunde således ud:

    Dim db as database
    Dim prpLoop As Property
    Dim tdef as DAO.tabledef
    Set db = Opendatabase("C:\Dokumenter\DinDatabase.mdb")
    Set tdef = db.CreateTableDef("NyTabel")
    With tdef
        .Fields.Append .CreateField("FirstName", dbText)
        .Fields.Append .CreateField("LastName", dbText)
        .Fields.Append .CreateField("Phone", dbText)
        .Fields.Append .CreateField("Notes", dbMemo)
    End With
    db.TableDefs.Append tdef
02. oktober 2003 - 20:13 #2
Du behøver da vist ikke denne:
Dim prpLoop As Property
Avatar billede juks Novice
02. oktober 2003 - 20:21 #3
hmmm ja men jeg skal ikke tilføje ny tabel
kun eet felt
Avatar billede juks Novice
02. oktober 2003 - 20:22 #4
Jeg prøvede denne men den opretter vist ikke noget felt


Dim dbs As Database
Dim Rst As DAO.Recordset
Dim tbl, flt, typ
    Dim tdf As TableDef
    Dim fldLoop As Field
'Her skrives navnet på den tabel der skal ændres
tbl = "Produkter"
' her skrives navnet på det felt der skal tilføjes
flt = "test"
'her skrives den type felte skal have ,
typ = "dbInteger"
    Set dbs = OpenDatabase(getbackendnameandpath(-1))
    Set tdf = dbs.TableDefs!produkter

 
    tdf.CreateField flt, dbInteger
02. oktober 2003 - 20:25 #5
nåå, jeg må lære at læse en af de nærmeste dage ;o)

Prøv denne:
    Dim db as database
    Dim tdef as DAO.tabledef
    Set db = Opendatabase("C:\Dokumenter\DinDatabase.mdb")
    Set tdef = db.tabledefs("NyTabel")
    With tdef
        .Fields.Append .CreateField("FirstName", dbText)
    End With
Avatar billede juks Novice
02. oktober 2003 - 20:32 #6
du er en engel kunne squtte får det hele til at passe
synes også denne linje er mærkelig  forstår ikke det mellemrum der er efter append
  .Fields.Append .CreateField("FirstName", dbText)
02. oktober 2003 - 20:35 #7
I dette tilfælde ville det også være lettere at skrive således:
tdef.Fields.Append tdef.CreateField("FirstName", dbText)

i stedet for:

With tdef
  .Fields.Append .CreateField("FirstName", dbText)
End With

Giver det mere mening?
Avatar billede juks Novice
02. oktober 2003 - 20:38 #8
ja tror jeg er med .
er det sikker mht til at lukke forbindelsen til backenden igen. så jeg ikke får nogle problemer når de bruger frontenden videre efter denne. skal man muligvis opdater kæderne igen eller ?
02. oktober 2003 - 20:42 #9
Sålænge, det er rent Access, så tror jeg ikke, at der er nogle problemer. Det var noget andet, hvis backend f.eks. var SQL server.

Men jeg kan kun sige: prøv!

Jeg har ikke selv prøvet det før....
Avatar billede juks Novice
02. oktober 2003 - 20:44 #10
ok takker endnu engang for alles....
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