[ACCESS XP][VBA] Een formulier leeg openen

Pagina: 1
Acties:
  • 752 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • prutsger
  • Registratie: Oktober 2001
  • Laatst online: 02-10 21:55
Ik ben bezig met een mooi formulier in Access XP. Alleen bij het openen wordt standaard de eerste record geopend, en ik wil dat er helemaal geen gegevens getoond worden.
Ik weet dat dat wel kan door bij het openen event meteen naar een nieuw record te gaan. Maar dat wordt gebruikt om een record toe te voegen en in die situatie wil ik bepaalde elementen (listviews) enablen, wat niet mag als het formulier net geopend wordt.
Kortom, als het formulier wordt geopend moet er geen record getoond worden, maar ook geen GotoRecord, , acNewRec

Acties:
  • 0 Henk 'm!

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

hmmzz....
Is het dan een idee om op je form een listbox te zetten waarmee je de andere records kunt kiezen? Op die manier kun je, als je die twee aan elkaar koppelt, niets selecteren in de listbox (standaard) en dus niks weergeven in het subform.

Vraagje: waarom wil je dat ene regeltje, GotoRecord, , acNewRec , niet gebruiken?

My personal website


Acties:
  • 0 Henk 'm!

  • prutsger
  • Registratie: Oktober 2001
  • Laatst online: 02-10 21:55
Ik zal het even verduidelijken met een plaatje:

Afbeeldingslocatie: http://www.bya.nl/extern/database.jpg

De listview linksboven geeft alle artiesten weer. Als je op een artiest klikt krijg je in de listview linksonder de bijbehorende albums te zien. Het gaat overigens alleen om de albums die ik heb. De recordset die uit de tabel komt is door elkaar, alfabetisch gezien, en alfabetisch sorteren is natuurlijk het mooist.
Als ik dan het formulier open, laat ie record met id=1 zien, in dit geval Creed omdat ik die er als eerste in heb gezet. Maar ik wil dus dat er niets weergegeven wordt omdat je als gebruiker nog niets gekozen hebt.
Dit kan ik dus doen door meteen naar een nieuwe record te navigeren zodat alle velden leeg zijn. Maar op het moment dat ik een nieuwe record toevoeg wil ik beide listviews disablen omdat dit anders voor fouten kan zorgen omdat de gebruiker dan kan navigeren.
Maar als ik het formulier open en ik ga meteen naar een nieuwe record worden ze dan dus ook gedisabled terwijl ik het dan niet wil.

Dus is het mogelijk om helemaal geen record weer te geven terwijl er wel een recordset aan het formulier gekoppeld is?

Als het niet lukt doe ik het wel anders hoor, dan ga ik gewoon meteen naar de laatste record, want dat is dan de cd die het nieuwst aangeschaft is waarschijnlijk.

Acties:
  • 0 Henk 'm!

  • OZ-Gump
  • Registratie: November 2002
  • Laatst online: 14-05-2024

OZ-Gump

terug van weggeweest

Het eerste wat zo in me op komt op de late avond (of zullen we er de vroege nacht van maken...?) is om een entry te maken (bijvoorbeeld ID = 0) die helemaal bovenaan staat en als tekst zoiets heeft als <selecteer artiest> of <kies> of <none>. Aan die regel hang je verder geen gegevens, waardoor je volgens mij een leeg formulier laat zien...?

Mocht het niet kloppen: ik kan morgen op mijn werk even kijken, volgens mij heb ik het ooit vaker voor elkaar gekregen...

My personal website


Acties:
  • 0 Henk 'm!

  • Falcon
  • Registratie: Februari 2000
  • Laatst online: 29-09 08:39

Falcon

DevOps/Q.A. Engineer

In Access heb je zelf gewoon een optie ingebouwd hiervoor. Moet je dat formulier in ontwerpweergave openen. Rechtermuisknop -> eigenschappen -> tabblad gegevens -> Gegeven invoer -> JA

Klaar!

"We never grow up. We just learn how to act in public" - "Dyslexie is a bitch"


Acties:
  • 0 Henk 'm!

  • prutsger
  • Registratie: Oktober 2001
  • Laatst online: 02-10 21:55
Dan voeg ik dus toch een record toe, en die situatie wil ik dus voorkomen. Ik heb het trouwens al opgelost met de optie die OZ-Gump aangaf, een record met als gegevens <SELECTEER LINKS EEN ARTIEST>, alhoewel ik nog open sta voor andere mogelijkheden omdat deze oplossing niet helemaal netjes is. Het 'vervuilt' namelijk de data alhoewel dat op het formulier verd niet meer terug te vinden is.
Ik sta uiteraard nog open voor andere oplossingen

Acties:
  • 0 Henk 'm!

Verwijderd

Ik zit met een soortgelijk probleem als Grover. De al eerder genoemde optie (1e record leeg) wil ik eigenlijk niet gebruiken.
Heeft iemand nog een ander idee?


_/-\o_

Acties:
  • 0 Henk 'm!

Verwijderd

Gooi dit in de VBA code als je het form open en je krijgt een leeg form:

Private Sub Form_Open(Cancel As Integer)

DoCmd.GoToRecord , , acNewRec

End Sub

Succes ermee

:*)

Acties:
  • 0 Henk 'm!

Verwijderd

MErci, ik ga het vanavond direct proberen... ik houdt U op de hoogte......

Acties:
  • 0 Henk 'm!

Verwijderd

gewoon een datasource opgeven waarvan je zeker weet dat er geen records terug komen
en in het on open event deze datasource aan het form toekennen.
dus iets als select * from tabel where id=0

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 23 april 2003 @ 11:13:
Gooi dit in de VBA code als je het form open en je krijgt een leeg form:

Private Sub Form_Open(Cancel As Integer)

DoCmd.GoToRecord , , acNewRec

End Sub

Succes ermee

:*)
Volgens mij geeft dit aan dat er een nieuw record wordt ingevoegd :7

(nav andere reactie van watnou)
Of helemaal geen datasource eraan hangen en deze pas later (na selectie) binden

[ Voor 15% gewijzigd door Verwijderd op 23-04-2003 17:56 ]

Pagina: 1