Hoe variabele groep periodiek toevoegen aan activiteitentabel?

Status
Niet open voor verdere reacties.

leifoet

Gebruiker
Lid geworden
7 okt 2007
Berichten
326
De records van een activiteitentabel bestaan enerzijds uit individuele deelnemers; anderzijds dient voor voor bepaalde activiteiten ook soms een groep met steeds dezelfde personen toegevoegd te worden.
Deze groep bestaat uit maximum een 25-tal personen die evenwel niet steeds voltallig deelnemen aan de bepaalde activiteit – dus per activiteit kunnen en zullen een variabel aantal niet mogen toegevoegd worden aan de activiteitentabel.

Ik probeer dit te klaren met zo weinig mogelijk invoer-typewerk van namen van de deelnemers (uit de groep).
- Indien de 25 personen telkens allemaal zouden deelnemen zou de invoeging van een subtabel (met die 25 namen) eenvoudig zijn.
- Een keuzelijst met de 25 namen is een andere mogelijkheid, maar dan moet ca 15 tot maximum 25 keer een persoon toegevoegd worden (tijdrovend).

Kan dit eenvoudiger ? Beste aanpak ?
Dank voor tips.
 
Het is mij nog niet helemaal duidelijk wat precies de bedoeling is maar misschien is het een optie om te beginnen met een keuze voor de activiteit en daaronder alle deelnemers met een checkbox voor hun naam, dan aanvinken welke deelnemers aan deze betreffende activiteit deelnemen en dat opslaan in de database?
 
Het zijn 25 personen die wel of niet meedoen aan een activiteit. Dit kan softwarematig opgelost worden door bij een activiteit 4 bytes (is 32 bits) op te nemen waarin elke bit de ja/nee is voor wel/niet meedoen aan de activiteit. In de 4 bytes is dan ruimte voor maximaal 32 personen. Als een activiteit op het scherm wordt getoond dan kunnen daarbij de 25 personen worden getoond, elk met een checkbox zodat je snel per persoon een vinkje kan zetten en het overzichtelijk is.

Dat het in tabellen staat heb ik begrepen maar welke te gebruiken programmeertaal is mij niet duidelijk.
 
Dank voor tips
van ariecade : toepassing van select multiple ? Tot nog toe steeds 1 enkele record toegevoegd of geüpdatet via de bepaalde Rec_ID - Is een gepaste syntax (voorbeeld) voor meerdere (en variabele) Rec_ID's te vinden ?
van bron : begrijp de werking van de toegevoegde 4 bytes (nog ;-) niet - is dit een bijkomend veld in activiteit ? zo ja inhoud van dit veld / hoe gestructureerd ?
Prog: ASP classic - database: Access
 
Met ASP Classic Pages kan ik niet helpen :(

Met binair opslaan in bytes bedoel ik dit voorbeeld: Stel dat je 8 personen hebt (8 bits is 1 byte) en dat persoon 8, 7, 4 en 1 meedoen. Dan is dit binair "11001001", converteer het naar een decimaal getal (is 201) en sla dat op in de tabel. Bij het teruglezen uit de tabel doe je precies het omgekeerde, dan converteer je van decimaal naar binair en krijg je weer 11001001. Voorbeeld Javascript.

Code:
// opslaan in DB
var personen = '11001001';
alert( parseInt(personen, 2).toString(10) ); // geeft '201'

// lezen vanuit DB
var personen = '201';
alert( (personen >>> 0).toString(2) ); // geeft '11001001'

Echter, begin hier niet aan als je nog nooit heb gewerkt met bitwise operators.
 
Helaas, met ASP en Access kan ik je ook niet veel veder mee helpen, ht is heel lang geleden dat ik iets met Access gedaan hebt :rolleyes:
 
Bron, ik volg uw raad … en begin er nog niet aan ;-)
Tenzij nog andere, blijft over de ariecade-tip select multiple (?) - eventuele voorbeelden voor verwerking ervan in PHP probeer ik wel te migreren …
Dank.
 
Heb ondertussen achterhaald dat een multiple-update gebeurt in de WHERE-clausule van de update-SQL.
Vooraleer te trachten een passende WHERE-clausule in te bouwen zie ik onderstaande update-test (voorlopig voor één bepaalde record) crashen :
ADODB.Recordset error '800a0bb9'
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.

Dank voor een tip om een dergelijke fout te situeren/corrigeren.

Code:
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("AccessDatabase.mdb")

Set rs = Server.CreateObject("ADODB.Recordset")

SQL = "UPDATE AW_Tabel "&_
"SET AW_VE = 0, AW_UpDT = now() "&_
"WHERE AW_Id=20"

rs.Open SQL, Con

rs.Close
Set rs = Nothing
Set Con = Nothing
 
Ben (helaas) nu eenmaal gestart in ASP … omschakelen vraagt nu (te) véél tijd ...
Heb intussen de update test-string toch aan het werk gekregen : naast een typefout (con => conn), is de SQL-string openen en in de volgende regel onmiddellijk terug sluiten niet bevorderlijk voor een optimale werking ;-)
Voorlopig kan ik dus verder (… tot aan volgende te steile col).
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan