[ACCESS] Txtvelden vullen met records

Pagina: 1
Acties:

  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Mensen help me even de juiste kant op, ik zit vast.

Ik heb een formulier,
hierop staan 4 txtvakken
hierin moeten de waardes komen uit 1 recordset met (altijd) 4 records.
Maar hoe zorg ik nu dat record1 in txtvak1 en record2 in txtvak2 komt te staan?
Ik heb al met For Each zitten klooien of met een bepaalde methode van het
recordset object maar ik kom niet verder.
Ook heb ik gezocht op de diverse Access sites.

http://www.access-programmers.co.uk/
http://home.planet.nl/~digihans/pc_help/access/

Maar geen succes tot nu toe.
gr 8)
Bluesbrother

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Kun je dit toelichten?
Vaak duidt een recordset met een fixed aantal records die bovendien gelijktijdig getoond moeten worden op een beetje brak ontwerp. En een standaard doorlopend formulier voldoet niet?

Je kunt je probleem eventueel oplossen met een niet afhankelijk formulier. Vervolgens vul je de tekstboxen dmv een loopje in VBA of een =dlookup() als gegevensbron voor de diverse textboxen

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


  • TXC
  • Registratie: Oktober 2002
  • Laatst online: 24-12-2025

TXC

Inderdaad een beetje gek een tabel met altijd 4 records, ik denk dat het een tabel is om opties in op te slaan o.i.d.

Anyway, zoals Niesje zegt pak je een formulier en geef je als recordsource van het formulier je tabel op. Daarna zet je de default view op Continuous Forms (doorlopend formulier). Daarna sleep je uit de fieldlist je textvelden het details vlak op.

  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Ik werk op een school.
Het is een programma waar studenten een keuze moeten maken uit 4 sporten.
( formulier 1 waarbij mogelijkheden om geen of 3 of andere verkeerde keuzes zijn uitgelosten door hierop te controleren)

De docent moet dan uit deze 4 sporten er 1 weghalen.
Ik wil dus 4 txt velden vullen met de sporten die de student heeft uitgekozen en dan
een knop naast elk txtvaak waarbij de docent er 1 weg kan gooien.
Dit wordt dan ook verwerkt in de database.
Ik heb een tabel met studenten en een met sporten.
En dan een tussentabel waar de id van de student en die van de sport staat.


Dit is mijn sql statement die ik met een

Set MyRs = dbase.OpenRecordset(MYSQL)

SQL
code:
1
2
3
MYSQL = "SELECT Tsn_Tbl_Stud_Sport.[ID_Sport], tbl_Sport.[NaamSport], tbl_Sport.[SportOmschrijving] " _
        & "FROM Tsn_Tbl_Stud_Sport INNER JOIN tbl_Sport ON Tsn_Tbl_Stud_Sport.[ID_Sport] = tbl_Sport.[ID_Sport]" _
        & "WHERE OvNummer = " & StrOvNummerZkClinics & ";"


vul en dan wil ik de textvakken vullen met de diverse sporten.


code:
1
2
3
4
.TxtClinic1 = RSDocentMaakKeuzeClinicsDefinitief.Fields("NaamSport")
.TxtClinic2 = RSDocentMaakKeuzeClinicsDefinitief.Fields("NaamSport")
.TxtClinic3 = RSDocentMaakKeuzeClinicsDefinitief.Fields("NaamSport")
.TxtClinic4 = RSDocentMaakKeuzeClinicsDefinitief.Fields("NaamSport")


Dan kan de docent zijn keuze maken en kan de student 3 sporten gaan doen.

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • TXC
  • Registratie: Oktober 2002
  • Laatst online: 24-12-2025

TXC

( formulier 1 waarbij mogelijkheden om geen of 3 of andere verkeerde keuzes zijn uitgelosten door hierop te controleren)
Do you speak english :?
De docent moet dan uit deze 4 sporten er 1 weghalen.
Dus de leerling kan 4 sporten kiezen uit 4?? Leek mij logischer dat de leerling maar 1 sport kan kiezen?

Ik kan je wel helpen, maar ik snap dit verhaal niet, misschien ligt het aan mij :?
Kun je het nog een keer uitleggen?

[ Voor 9% gewijzigd door TXC op 29-08-2005 13:12 ]


  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Sorry, voor mij is het gesneden koek maar niet voor jou. ;)
Ik doe mijn best:

Een leerling moet 4 sporten uit een stuk of 15 kiezen maar ivm de planning blijven er na selectie door de docent maar 3 over. (hier moet dan een planning voor gemaakt worden maar dat doet even niet ter zake)
De docent maakt dus de keuze van de student definitief door 1 sport weg te halen.
Dat laatste zorgt bij mij voor de problemen.
Ik heb een formulier gemaakt met daarop 4 textvelden.
Hier staan de 4 sporten die de student gekozen heeft.
Naast elk tekstveld staat een knop met verwijder deze sport.
(dan blijven er dus de gewenste 3 over.)
Dan als de docent op een andere knop (maak definitief) klikt dan kan er een planning voor gemaakt worden.

Het probleem is dus:
Ik heb een recordset met 4 sporten
(het zijn er altijd 4 aangezien er bij het selecteren van de leerling op gecontroleerd word dat het er altijd 4 worden. )
die moet de txtvelden vullen. Elke record (sport) moet in een textveld gestopt worden.

code:
1
2
3
me.TxtVakSport1 = Myrecordset.Fields("NaamSport")
me.TxtVakSport2 = Myrecordset.Fields("NaamSport")
enz


Maar ik zoek naar de methode om dus de 4 records te verdelen over de 4 textvelden.
Als de docent op de knop "verwijder deze sport" klikt moet de waarde van dat txtveld aangeven welke
sport verwijderd word.

Ik heb al geprobeerd met een for each, maar dat werkt niet echt.
Ik heb al gezocht op diverse forums (fora?) maar ik zoek verkeerd of ik ben de eerste die deze
(misschien domme?) vraag stelt.

Ik hoop dat het zo wat duidelijker is? 8)

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • TXC
  • Registratie: Oktober 2002
  • Laatst online: 24-12-2025

TXC

En dan een tussentabel waar de id van de student en die van de sport staat.
Dus in die tussentabel staat 4x het studentID met 4x een andere sport. Klopt dat?

En je gebruikt een query als recordset waar je per leerling de 4 sporten select, vandaar dat je recordset maar 4 records bevat. Klopt dat ook?

If so dan kun je door je recordset bladeren. Omdat je textvelden niet in een array staan zul je het handmatig moeten doen (niet erg want maar 4 records):

zoiets dan denk ik:
code:
1
2
3
4
5
6
7
8
9
10
11
txt1 = Myrecordset.Fields("NaamSport")
Myrecordset.MoveNext

txt2 = Myrecordset.Fields("NaamSport")
Myrecordset.MoveNext

txt3 = Myrecordset.Fields("NaamSport")
Myrecordset.MoveNext

txt4 = Myrecordset.Fields("NaamSport")
'Einde recordset


Als je het op deze manier geordend hebt kun je het beter nog zo doen:
- Query aan formulier koppelen
- Formulier als doorlopend instellen
- Textvelden slepen in detailssectie uit field list
- Knoppen ernaast zetten

[ Voor 15% gewijzigd door TXC op 29-08-2005 13:26 ]


  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Imho een typisch geval voor een hoofd/sub formulier. Het subformulier (doorlopend) vermeldt keurig welke sporten student gekozen heeft en bevat ook een knopje (wizard record verwijderen) verwijderen.

of te wel, maak het jezelf makkelijk :)

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


  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
Hee super dat werkt. !!
Ik zat weer veel te moeilijk te denken.
_/-\o_ + 8)

Dankjewel TXC

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.


  • bluesbrother
  • Registratie: Februari 2002
  • Laatst online: 26-01-2025

bluesbrother

Blues Rocks!!!

Topicstarter
TXC schreef op maandag 29 augustus 2005 @ 13:24:
[...]

Als je het op deze manier geordend hebt kun je het beter nog zo doen:
- Query aan formulier koppelen
- Formulier als doorlopend instellen
- Textvelden slepen in detailssectie uit field list
- Knoppen ernaast zetten
Nu ben ik nog niet zo ver dat ik dit allemaal helemaal begrijp maar ik ga dit verder uitwerken.

8)

Wil je je pizza in 4 of 8 stukken? .......Doe maar in 4, 8 krijg ik niet op.

Pagina: 1