Avatar billede moba Nybegynder
12. februar 2007 - 20:08 Der er 11 kommentarer

formular vises ikke?

Hejsa
Jeg har en formular som er sat med standard visning = enkelt formular, og formularen viser data fra en tabel. Da brugerne ikke skal have lov til at indtaste i formularen uden først at trykke på en knap "opret", har jeg sat tilladtilføjelser til NEJ.
Det har dog den uheldige konsekvens, at formularen ikke vises hvis der ikke er data i den underliggende tabel! Hvordan kommer jeg uden om dette?
Avatar billede terry Ekspert
12. februar 2007 - 20:14 #1
Cant you change "tilladtilføjelser" to Ja when the user presses the button?
Avatar billede moba Nybegynder
12. februar 2007 - 20:23 #2
Problemet er, at knapperne også forsvinder. Problmet opstår kun, når der ikke er data i tabellen. Når brugeren trykker på knappen skifter tilladtilføjelser status til ja.
Avatar billede terry Ekspert
12. februar 2007 - 20:30 #3
Is the button in the header of the form? You could try putting the form into another form as a sub form. Then Put the button on the main form
Avatar billede -anders- Juniormester
12. februar 2007 - 20:54 #4
Hej

Nu ved jeg jo ikke hvor mange felter du har på din formular, men en metode kunne være at låse alle felter, og så låse dem op når der klikkes på på knappen "Opret"

Du kan låse felterne som standard i design på formen under fanebladet Data, og låse dem med nedenstående kode:

Me!FeltNavn.Locked = False
Me!FeltNavn1.Locked = False

osv.

Hvis du rigtig mange felter kan man også lave en løkke der løber alle felter igennem og låser dem, man kan evt. bruge egenskaben Mærke (Tag) til dette.
Avatar billede -anders- Juniormester
12. februar 2007 - 20:55 #5
Sorry, Låse dem er selvfølgelig Låse dem op :o)
Avatar billede moba Nybegynder
12. februar 2007 - 20:57 #6
Hej Anders
Den går ikke for mig. Jeg har en del felter, og det drejer sig om flere forms.
Jeg i stedet 2 funktioner som jeg kalder når felterne skal åbnes / lukkes.

Function lockfields()
With Me.Form
.AllowEdits = False
.AllowDeletions = False
.AllowAdditions = False
End With
End Function

Function unlockfields()
With Me.Form
.AllowAdditions = True
.AllowEdits = True
.AllowDeletions = True
End With
End Function
Avatar billede -anders- Juniormester
12. februar 2007 - 20:59 #7
Hej moba, det fint ud, men så vidt jeg ved skal formen sættes til Tilad nye poster = Ja for at felterne vises
Avatar billede -anders- Juniormester
12. februar 2007 - 21:06 #8
Jeg anvender ofte nedenstående, måske du kan bruge den. Sørg for at egenskaben for nye poster er sat til Ja, og alle felter skal som standard være låst når formen åbnes, nedenstående kode skal så køres når du klikker på knappen:

Dim Ctrl As Control
For Each Ctrl In Me
If Ctrl.ControlType = acTextBox Then Ctrl.Locked = False
If Ctrl.ControlType = acComboBox Then Ctrl.Locked = False
Next Ctrl
Avatar billede moba Nybegynder
12. februar 2007 - 21:07 #9
Ja såfremt der ikke er data i tabellen så er det åbenbart konklutionen? Så snart der er data i tabellen er det jo ikke noget problem
Avatar billede -anders- Juniormester
12. februar 2007 - 21:09 #10
Nej, det fordi Access ikke kan vise felterne på formen når egenskaben for nye poster er sat til Nej, og der samtidig ikke er nogele poster i den underliggende tabel, men mit sidste indlæg virker ganske godt
Avatar billede -anders- Juniormester
12. februar 2007 - 21:14 #11
Nedenstående er testet og virker, bemærk at der er til kode til at gå til en ny post efter Next Ctrl

Dim Ctrl As Control
For Each Ctrl In Me
If Ctrl.ControlType = acTextBox Then Ctrl.Locked = False
If Ctrl.ControlType = acComboBox Then Ctrl.Locked = False
Next Ctrl
DoCmd.GoToRecord , , acNewRec
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