05. juli 2010 - 21:44Der er
11 kommentarer og 1 løsning
Tilføje et felt i en database
Jeg prøver at oprette et felt i en tabel i en sammenkædet database. Nedennævnte kode er tidligere brugt uden problemer, men nu virker den ikke. Koden kører og der kommer ingen fejlmeddelelse, men feltet bliver bare ikke oprettet. Er dre nogen der kan et tip til hvad der er galt.
Sub Opdat304305() 'Tilføjer feltet FStatus til tabellen T_Faktura On Error GoTo ERR_Opdat304305 Dim db As DAO.Database Dim fld As DAO.Field Dim tdf As DAO.TableDef
'Set db = CurrentDb()
Dim DB_FileName, DB_Pathname, DB_TableName As String DB_FileName = "MKPdata.mdb" ' Tabeldatabasen DB_Pathname = Forms!Aabningbillede.Stinavn 'henter den database man ønkser at benytte 'rstNavn.DataSti 'Trim(Command) ' Sti fra genvejsmenu /cmd C:\DSdata If Right(DB_Pathname, 1) <> "\" Then DB_Pathname = DB_Pathname & "\" End If FileName = DB_Pathname & DB_FileName '=fulde sti + filnavn
Set db = OpenDatabase(FileName)
Set tdf = db.TableDefs!T_Faktura
'WdsData.Execute "Alter T_Faktura Alter FSTatus Long"
Set fld = tdf.CreateField("FStatus", dbLong) 'Feltnavn = FStatus, og egenskab = Langt heltal 'MyTabel.Fields.Append fld 'WdsData.TableDefs.Refresh 'If MyTabel.Updatable = True Then ' With MyTabel ' .Fields.Append .CreateField("Restmandetimer", dbSingle) ' End With 'End If
Set db = Nothing
Exit_Opdat304305: Exit Sub
ERR_Opdat304305: MsgBox ("Fejl i opdatering " & Err.Description) GoTo Exit_Opdat304305
you are aware that some of the code is comment out?
'MyTabel.Fields.Append fld 'WdsData.TableDefs.Refresh 'If MyTabel.Updatable = True Then ' With MyTabel ' .Fields.Append .CreateField("Restmandetimer", dbSingle) ' End With 'End If
Synes godt om
Slettet bruger
05. juli 2010 - 23:04#2
Som Terry anfører, så slører du fokus ved at vise udkommenterede or dermed irelevante linier. Oplysningen om at tabelen er sammenkædet, er det overhovedet relevant? er det ikke backend path der hentes i 'Forms!Aabningbillede.Stinavn' - frontenden (hvorfra koden køres) hedder bare currentdb.Name
Prøv at sætte et breakpoint efter 'filename=' og se om det passer.
Terry Kommentar linierne er andre metoder der er mislykkedes
p.t prøver jeg denne kode set i et svar fra 2002
Dim DB_FileName, DB_Pathname, DB_TableName As String DB_FileName = "MKPdata.mdb" ' Tabeldatabasen DB_Pathname = Forms!Aabningbillede.Stinavn 'henter den database man ønkser at benytte 'rstNavn.DataSti 'Trim(Command) ' Sti fra genvejsmenu /cmd C:\DSdata If Right(DB_Pathname, 1) <> "\" Then DB_Pathname = DB_Pathname & "\" End If MinFil = DB_Pathname & DB_FileName '=fulde sti + filnavn
I dont understand why it took me so long to see the problem, age maybe :o)
Synes godt om
Ny brugerNybegynder
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.