05. januar 2021 - 09:25
Der er
14 kommentarer og 2 løsninger
Find Standardværdien fra en tabel
Kan i ved VBA koder hjælpe med at finde hvad standard værdien i en tabel er sat til
Annonceindlæg fra IBM
05. januar 2021 - 09:45
#1
05. januar 2021 - 09:49
#2
Denne virker her:Public Sub DefaultValues(ByVal TableName As String) Dim Database As DAO.Database Dim Table As DAO.TableDef Dim Field As DAO.Field Set Database = CurrentDb Set Table = Database.TableDefs(TableName) For Each Field In Table.Fields Debug.Print Field.Name, Field.DefaultValue Next End Sub
05. januar 2021 - 10:22
#3
Jeg har måske ikke været klar nok. Det jeg søger er den satte standardværdi af F.Eks MomsPct i tabellen Salg
05. januar 2021 - 10:35
#4
isnt that what you have been given the answer for? CurrentDb.TableDefs({table name}).Fields({field name}).DefaultValue
05. januar 2021 - 15:03
#5
Der opstår en fejl når 2 eller flere redigeres samtidigt efter hinanden. F.Eks: CurrentDb.TableDefs({table name1}).Fields({field name1}).DefaultValue CurrentDb.TableDefs({table name2}).Fields({field name2}).DefaultValue Fejlmeddelse: Run-time error 3422 En anden bruger har åbnet tabellen
05. januar 2021 - 15:27
#6
Så er der noget andet - fx en formular, rapport eller forespørgsel - der har tabellen åben.
05. januar 2021 - 16:00
#7
Can you show the exact code you are using? I have no problem with this code, at the same time having a form and a report open which use these tables Debug.Print CurrentDb.TableDefs("tbl1").Fields("fld1").DefaultValue Debug.Print CurrentDb.TableDefs("tbl2").Fields("fld1").DefaultValue
05. januar 2021 - 17:31
#8
Hej Her er mine koder: CurrentDb.TableDefs("Moms_Afgifter").Fields("Afgift_Pct").DefaultValue = Me.Moms_Pct CurrentDb.TableDefs("Tilbud").Fields("MomsPct").DefaultValue = Me.Moms_Pct
05. januar 2021 - 19:24
#9
Det virker fint, hvis værdien er fx "25.00". Fejlen skyldes som nævnt, at du - eller "noget" - har tabellen åben.
05. januar 2021 - 20:46
#10
Der er ikke andre brugere men tabellerne kan være åbne på andre forme Jeg formoder en tabel oprettet på en form lukkes når formen forlades - Er det ikke rigtigt? For at lukke ALLE har jeg nu brugt: Dim tbl As DAO.TableDef For Each tbl In CurrentDb.TableDefs On Error Resume Next DoCmd.Close acTable, tbl.Name, acSaveYes Next Så virker det
Synes godt om
1 synes godt om dette
06. januar 2021 - 09:30
#11
Lets keep to the original question which was "Kan i ved VBA koder hjælpe med at finde hvad standard værdien i en tabel er sat til" CurrentDb.TableDefs("Moms_Afgifter").Fields("Afgift_Pct").DefaultValue = Me.Moms_Pct is setting the default value, not getting the default value ;-) Now lets confirm if the original question is answered. In the Immediate window (CTRL+G) write the following, followed by enter. ?CurrentDb.TableDefs("Moms_Afgifter").Fields("Afgift_Pct").DefaultValue do you get a result? If so, the original question is answered. If for some reason you get an error then this has probably something to do with what Gustav is indicating, and that is another issue
06. januar 2021 - 09:34
#12
and as you have discovered, the reason you get the error 3422 is because you are trying to alter the value, not read the value
06. januar 2021 - 14:15
#13
Ja Gustav har ret. Der har været en tabel der ikke har været lukket Jeg troede alle forme var lukket og dermed alle tabeller lukket. Det er øjensynlig ikke tilfældet Som i ser ovenfor har jeg følgende spørgsmål: Kan man regne med en tabel åbenet på en form lukkes igen automatisk når formen forlades? Jeg har nu anvendt: Dim tbl As DAO.TableDef For Each tbl In CurrentDb.TableDefs On Error Resume Next DoCmd.Close acTable, tbl.Name, acSaveYes Next det lukker alle tabeller - herefter går sætningen af standardværdierne ok igennem uden fejl. Findes der en enklere metode til at lukke tabellerne?
06. januar 2021 - 14:34
#14
> Findes der en enklere metode til at lukke tabellerne? Ikke mig bekendt.
06. januar 2021 - 14:47
#15
Me neither.
06. januar 2021 - 15:11
#16
I would also suggest that Moms and afgift values are in tables. Not a good idea to alter table design in a production environment. If you have the values in a table you can set the fields default value on the form to call a function which reads value from table.
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser