Gegevens in veld van vorig record als default tonen in nieuw record

Status
Niet open voor verdere reacties.

De Vrije Vogel

Gebruiker
Lid geworden
8 apr 2006
Berichten
95
Hallo,
Ik heb gezocht maar het niet kunnen vinden.
Ik zou graag in een formulier, als ik een nieuw record ga maken, dat in een aantal velden de gegevens van het vorige record, als default worden getoond. Deze hoef ik niet dagelijks aan te passen. Dit scheelt typ-werk.
Het tonen zonder een extra knop te gebruiken.
Primary key is SprayID en de velden zijn vanuit de tabel tblSprayPlanning o.a. Speed, GearSelected, Bar.
Het formulier heet SprayRecordNew.
Hopelijk hebben jullie hiermee voldoende informatie.
Weer bedankt.
Grtz,
DVV
 
Laatst bewerkt:
Dat kan met een simpel stukje VBA code, die je aan een knop kunt toewijzen:

Code:
Me.Speed.DefaultValue = Me.Speed
Me.GearSelected.DefaultValue = Me.GearSelected
Me.Bar.DefaultValue = Me.Bar
Docmd.GotoRecord , , acNewRec
 
Hallo Michel,
Helaas, het lukt me niet.
Het formulier wordt geopend met:
Code:
Private Sub RegularSprayPlan_button_Click()
    DoCmd.OpenForm "frmSprayRecordNew"
    DoCmd.GoToRecord , , acNewRec
End Sub


Ik heb een aparte knop gemaakt op het formulier,en daar jouw suggestie aangehangen. Dit werkt niet, omdat ik natuurlijk iets verkeerds heb gedaan.
Melding: Compileerfout: Kan de methode of het gegevenslid niet vinden.

Toegevoegd aan de knop, welke het formulier opent, zelfde probleem ook geen resultaat.

De veldnamen zijn de namen gebruikt in de tabel [tblSprayPlanning]. Op het formulier gebruik ik andere namen:
Speed = SpeedKm_label
GearSelected = GearSelected_label
Bar = Bar_label

Vertaald naar jouw suggestie wordt het:
Me.SpeedKm_label.DefaultValue = Me.SpeedKm_label
etc.
Dit gedaan, maar ook dat hielp niet.

In de tabel staat niets in standaardwaarde.

Graag nogmaals je hulp.
Grtz,
Matt
 
Jouw oplossing gaat nooit werken, en zeker niet bij het eerste record, omdat je met niks begint. Je begint namelijk met een nieuw record, en dan valt er niks in te stellen als DefaultValue. Daar zou je nog een check op kunnen maken om dat te voorkomen.
 
Dus Michel als ik het goed begrijp kan ik de gegevens van het vorige record niet in de velden laten staan?
 
Niet als er geen gegevens zijn om over te nemen. Persoonlijk zou ik een formulier ook niet in de Gegevensinvoer openen; ik doe dat eigenlijk nooit. Zoals ik al zei: je kunt afvangen dat een defaultvalue wordt 'gevuld' met niks als er geen waardes zijn. Bij een tweede toegevoegd record zou je dan wel gegevens moeten hebben.
 
misschien kan je hier iets mee
Code:
Private Sub Kopiekaart_Click()

'maak een clone van recordset
With Me.RecordsetClone
'zoek huidig record in recordcloneset
    .FindFirst "ID = " & Forms!Formnaam!ID
'maak een nieuw record
    DoCmd.GoToRecord , , acNewRec
'vul de naam in nieuw record met naam uit clone
     Me.Instelling = !Instelling
    Me.Afdeling = !Afdeling
      
    
End With
    Me.Refresh


       
End Sub
 
Prima methode, maar die werkt ook alleen als je al een record hebt ingevoerd. Bij een formulier dat start in de Toevoegmodus, is dat er niet :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan