Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[Access] Data van ene naar andere formulier overnemen.

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

Verwijderd

Topicstarter
Hallo,
Ik ben bezig met een access applicatie te bouwen, alleen lukt me een iets niet.
Het probleem is dat ik een formulier geopend heb, en daar bepaalde data invoer.
Dan wil ik verder gaan en het volgende formulier openen, alleen wil ik dat access data van het ene formulier over neemt naar het andere, een ID bijvoorbeeld.

Nu lukt dat makkelijk als je records al gemaakt hebt, alleen bij nieuwe is dat niet het geval. En om de hele tijd tussen formulieren te gaan switchen om ID's over te typen werkt niet echt lekker.
Wat ik dus eigenlijk wil is een soort POST methode maar dan in access.
Iemand een idee hoe ik dat aan zou kunnen pakken?
Ik heb al wat met expressies geprobeerd, alleen lukt dat me niet goed, en VBscript snap ik te weinig van.

  • BM
  • Registratie: September 2001
  • Laatst online: 11:59

BM

Moderator Spielerij
Control_op_tweede_form.text = Forms![Naam_van_Form1r]![Control_op Form1].text

zoiets in de OnOpen van het 2e formulier zetten zou moeten werken.

Xbox
Even the dark has a silver lining | I'm all you can imagine times infinity, times three


  • whoami
  • Registratie: December 2000
  • Laatst online: 10:52
Dit zal eerder thuishoren in OfficeSuites.

P&W -> OFF

https://fgheysels.github.io/


Verwijderd

Topicstarter
SpeedAddict schreef op zaterdag 04 juni 2005 @ 13:15:
Control_op_tweede_form.text = Forms![Naam_van_Form1r]![Control_op Form1].text

zoiets in de OnOpen van het 2e formulier zetten zou moeten werken.
Ga ik proberen. Bedankt voor de reactie.
Excuus voor het verkeerd plaatsen van topic.

  • BertS
  • Registratie: September 2004
  • Laatst online: 27-10 13:12
.text gaat niet werken, omdat die read-only is (en dat alleen van een control die de focus heeft).
Als je dat gewoon weglaat wordt de default (.value) gebruikt, wat beter zal werken :)

Verwijderd

Topicstarter
SpeedAddict schreef op zaterdag 04 juni 2005 @ 13:15:
Control_op_tweede_form.text = Forms![Naam_van_Form1r]![Control_op Form1].text

zoiets in de OnOpen van het 2e formulier zetten zou moeten werken.
Ok, eh, control_op_tweede_form, wat zou ik daar in moeten vullen, heb je toevallig een voorbeeld?
En ik neem aan dat dit in de expressie modus gezet moet worden?

  • Boss
  • Registratie: September 1999
  • Laatst online: 10:20

Boss

+1 Overgewaardeerd

Dit moet in de VBA modus gezet worden, lijkt me.

control_op_tweede_form is de naam van het control op het tweede formulier waar de tekst uit het eerste formulier moet komen.

The process of preparing programs for a digital computer is especially attractive, not only because it can be economically and scientifically rewarding, but also because it is an aesthetic experience much like composing poetry or music.


Verwijderd

Topicstarter
Boss schreef op zondag 05 juni 2005 @ 18:45:
Dit moet in de VBA modus gezet worden, lijkt me.

control_op_tweede_form is de naam van het control op het tweede formulier waar de tekst uit het eerste formulier moet komen.
VBA, dus die programmacode toch?
Ik ga het proberen! :)

Verwijderd

Topicstarter
Ok, ik heb nu dit;

KlantID = Forms![Klant]![KlantID]

Alleen geeft hij de volgende fout;
"U kunt geen waarde aan dit object toekennen"

  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 11:04
Voor nieuwe records kun je beter control.DefaultValue gebruiken

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


Verwijderd

Topicstarter
nescafe schreef op zondag 05 juni 2005 @ 19:09:
Voor nieuwe records kun je beter control.DefaultValue gebruiken
Mijn dank grenst aan hondsdolheid.
Bedant iedereen voor de geboden hulp! Het werkt! Het werkt!

  • Roelof
  • Registratie: Juli 1999
  • Laatst online: 29-11 18:17

Roelof

Illustrious Wolf

Ik weet dat dit een oud topic is, maar ik heb een probleem dat hier sterk op lijkt.
Ik ben al een aantal uur aan het zoeken naar iets wat volgens mij niet zo heel moeilijk moet zijn:
Ik wil ook waarden van het ene formulier meenemen naar het andere.
Bij getallen lukt dit zonder enig probleem door volgende code in het tweede formulier :


Visual Basic:
1
2
3
4
5
6
7
8
9
Private Sub Form_Open(Cancel As Integer)
   DoCmd.GoToRecord , , acNewRec
If IsOpen("Input_Measurements") Then
    joint.DefaultValue = Forms!Input_Measurements!joint
    Diameter.DefaultValue = Forms!Input_Measurements!Diameter
    Pressureclass.DefaultValue = Forms!Input_Measurements!Pressureclass
    Length.DefaultValue = Forms!Input_Measurements!Length
End If
End Sub


De joint value is een string, deze wordt niet weergegeven in het bewuste veld (komt #Naam? te staan)
Iemand een idee hoe dit op te lossen?

P.S. de IsOpen is dus een kleine routine om te checken of het formulier open is.

[ Voor 4% gewijzigd door Lustucru op 19-06-2008 12:34 . Reden: code tags ipv table tag ]

Ik ben niet nieuwsgierig; ik ben alleen maar benieuwd.


  • Witte
  • Registratie: Februari 2000
  • Laatst online: 15-10 13:46
bestaat het control joint wel op het andere formulier?

met !joint verwijs je naar het veld joint in de recordset
met .joint verwijs je naar het control joint op het formulier.


blijkt toch niet zo te zijn...

[ Voor 17% gewijzigd door Witte op 19-06-2008 11:56 ]

Houdoe


  • Roelof
  • Registratie: Juli 1999
  • Laatst online: 29-11 18:17

Roelof

Illustrious Wolf

Witte schreef op donderdag 19 juni 2008 @ 11:51:
bestaat het control joint wel op het andere formulier?
Ja hoor. De waarde wordt ook wel meegenomen (stap voor stap gecontroleerd), maar wordt om de een of andere reden niet in het veld geplaatst.
Het formulier is gebaseerd op een tabel, het jointveld is een tekstveld.

Ik ben niet nieuwsgierig; ik ben alleen maar benieuwd.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Je zet een defaultvalue, of te wel de waarde die ingevuld gaat worden in een nieuw record, maar dat nieuwe record is al aangemaakt in regel één. Kortom: je bent te laat ;)

Daarnaast moet een string tussen quotes, ofwel
code:
1
defaultvalue = "'" & var & "'"


offtopic:
voor code zijn [code]-tags wat beter leesbaar

[ Voor 16% gewijzigd door Lustucru op 19-06-2008 12:37 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Roelof
  • Registratie: Juli 1999
  • Laatst online: 29-11 18:17

Roelof

Illustrious Wolf

Ik wist wel dat het iets simpels was :o , de quotes inderdaad, veel dank. _/-\o_

De 'DoCmd.GoToRecord , , acNewRec' moet wel hoor, anders krijg ik als default de waarden van de eerste record, terwijl ik een nieuwe wil toevoegen.
Maakt trouwens niet uit of ik die ervoor of erna zet.

[ Voor 10% gewijzigd door Roelof op 19-06-2008 13:24 ]

Ik ben niet nieuwsgierig; ik ben alleen maar benieuwd.

Pagina: 1