[VB] Variable Foto

Pagina: 1
Acties:

  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
Hoi iedereen,
Ik zit met het volgende probleem. Ik heb hier een Acces database met al onze leerling gegevens van de school waar ik werk. Nu heb ik ook een map met alles pasfotos van de leerlingen. Deze pasfoto's hebben de naam 1243.jpg of 4312.jpg in ieder geval het leerlingnummer van de leerling gevolgt door .jpg.

Nu is er in de database een kolom LeerlingNr hier in staat het leerling nummer van elke leerling exact zoals in het eerste gedeelte van de bestandsnaam. Nu is het probleem als volgt.

Ik heb een formulier gemaakt voor die automatisch de gegevens van elke leerling weer geeft en nu wil ik de eerder genoemde pasfoto er dus ook bij. Maar om deze 2400 keer met de hand toe te voegen schiet niet erg op dus wilde ik op het formulier een foto object neer zetten en zijn Load.Image bepalen door de waarde in LeerlingNmr (de eerder genoemde kolom). Ik had de volgende code bedacht.

code:
1
2
Private Sub pasfoto_Click()
pasfoto.Picture = LoadPicture("C:\Rone\Database gevallen\ " & LeerlingNr & ".jpg")


Ik wil natuurlijk niet dat dit pas gebeurt als je erop klikt maar VB Noob als ik ben heb ik dat maar gekopieerd van een bovenstaande Private Sub :+ . Verder krijg ik nu de foutmelding dat C:\RoneDatabse gevallen\.jpg niet bestaat. Hij vervangt het variable dus niet door het nummer!! En kan ik nog een ander event gebruiken als Click() ? Load ofzo ? Alvast bedankt ik hoop dat het duidelijk is anders hoor ik het wel :Y)

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


Verwijderd

pasfoto.Picture = LoadPicture("C:\Rone\Database gevallen\' " & LeerlingNr & " '.jpg")

bovenstaande code werkt wel denk ik, je moet aan beide zijde een ' plaatsen (zonder spatie er tussen maar dat heb ik gedaan zodat je kan zien dat ik het karakter er voor en er na heb geplaatst. Gebruik een form onload event. Of plaats bovenstaande regel na het laden van je qwuery.

Verwijderd

Lijkt me sowieso wel handig om de inhoud van LeerlingNr te weten...
Hoe vul je die variabele?

  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
Dat is de kolom LeerlingNr in de tabel. Dat is een vier cijferige integer. Na de nieuwe versie van de code heb ik nog steeds het zelfde probleem waarschiijnlijk is een kolom naam niet automatisch een variable (ik ben noob weetje nog :+ ). Dus dan heb ik de vraag hoe zorg ik dat het variable LeerlingNmr ook daadwerklijk de waarde krijgt uit de kolom LeerlingNmr (dus ook nog van de geselecteerde rij!)
Hoe doe ik dit dan ? :)

[ Voor 71% gewijzigd door G F0rce 1 op 03-10-2003 10:20 ]

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


Verwijderd

Niet helemaal wat ik bedoelde.

De code staat in een form. Hoe vul je de variabele LeerlingNr in dat form? (Of moet Access gokken dat jij het veld LeerlingNr uit tabel x bedoeld...)

  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
Ja dat bedoel ik acces moet dat gokken ;) Want ik weet niet hoe ik het anders moet doen :) . Hier zit hem dus het probleem! Dus dan is de vraag hoe doe ik dit ? :+

[ Voor 30% gewijzigd door G F0rce 1 op 03-10-2003 10:23 ]

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


  • ShadowrunR
  • Registratie: Maart 2002
  • Laatst online: 17-08 20:13
Kun je je probleem dan wel wat beter omschrijven? Ik snapte er weinig van. Het is toch niet zo moeilijk om die nr's in die variabele te laden? Je leest immers je andere waarden zoals Naam ed. ook al uit?

Verwijderd

Je zegt eerder dat het form automatisch de gegevens van het leerlingnummer weergeeft. Het is lang geleden dat ik wat met Access heb gedaan, maar volgens mij wordt er een stukje gegenereerde code achter het form geplakt. Post die code ff, dan kan ik je wel verder helpen.

edit:

Typo

[ Voor 5% gewijzigd door Verwijderd op 03-10-2003 10:25 ]


  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
Er wordt voor de knoppen wat code gegenereerd inderdaad die ziet er als volg uit:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub ctl_form_leerlingen_volgende_Click()
On Error GoTo Err_ctl_form_leerlingen_volgende_Click


    DoCmd.GoToRecord , , acNext

Exit_ctl_form_leerlingen_volgende_Click:
    Exit Sub

Err_ctl_form_leerlingen_volgende_Click:
    MsgBox Err.Description
    Resume Exit_ctl_form_leerlingen_volgende_Click
    
End Sub


Maar ik zal toch ergens in de of een querie iets moeten selecteren of niet ? Of gebeurt dat toch in dezelfde querie en is het al gedaan en kan ik het uit ' besturingsbron' van de tekst 'Leerlingnummer' halen?

[ Voor 21% gewijzigd door G F0rce 1 op 03-10-2003 10:41 ]

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


  • mbrouwer
  • Registratie: September 2001
  • Laatst online: 21-08 14:03
Het probleem is dat je de variabele LeerlingNr ergens vult door een field uit een recordset te lezen. Op dat moment heb je in die procedure wel het leerlingnummer. Op het moment dat je in een andere procedure die variabele wilt uitlezen kan dat niet omdat in VB variabelen alleen geldig zijn in de procedure waar ze in gevuld zijn. Dit kun je oplossen door bovenaan bij de declaraties :
code:
1
public Leerlingnr

te plaatsen

"And As A Finishing Touch... God Created The Dutch"


Verwijderd

[Ach laat ik die jongen eens helpen mode]

Om je probleem op te lossen voeg je onderstaan de code toe aan je form.

Weet niet of dit het beste event is om het in te doen, weet wel dat het werkt.

code:
1
2
3
Private Sub Form_Current()
   pasfoto.Picture = LoadPicture("C:\Rone\Database gevallen\ " & Me.Recordset.Fields("LeerlingNr").Value & ".jpg")
End Sub

[/Ach laat ik die jongen eens helpen mode]

  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
Okeej hartstikke bedankt tot nu toe jongens _/-\o_ ik heb het tot hieraantoe opgelost behalve dat ik nu de foutmelding krijg Fout 438 Deze Eigenschap of Methode wordt niet ondersteun door dit object . pasfoto.picture gaat dus niet. Pas foto is een Ole Object. Toegestaan Ole-type staat op beide. Of moet ik een heel niew object maken of moet ik een totaal andere eingeschap hebben :) . Maar we zijn er bijna ! toch :+ ?

[ Voor 25% gewijzigd door G F0rce 1 op 03-10-2003 11:31 . Reden: extra info ]

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


Verwijderd

Dan maar naar versie 1.1 ...

Voeg aan je form een Image toe en noem het kreng 'Smoel' oid.

Plak de volgende code (ter vervanging van de hiervoor geposte code)

code:
1
2
3
Private Sub Form_Current()
   Me.Smoel.Picture = "C:\Rone\Database gevallen\" & Me.Recordset.Fields("LeerlingNr").Value & ".jpg"
End Sub

  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
Lid bestaat al in object module waarvan deze module is afgeleid is nu de foutmelding. Ik wordt langzaam gek geloof ik !!

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


Verwijderd

Gek worden kan altijd nog...

Gokje, je hebt de code uit de eerste post niet verwijderd, waardoor je nu 2 keer Private Sub Form_Current() hebt.

Gaat Access idd niet echt leuk vinden...

  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
jawel want we hebben de code steeds verwijderd en steeds de code die hier kwam gecopied en gepasted dus.. da kan het nie zijn :(

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


Verwijderd

Dus staan in je module nu alleen de Option Compare Database en de Private Sub Form_Current() ?

Er staan toevallig ook geen 2 controls op je form met dezelfde naam?

Gebruik je wel de naam van je Image control in de aanroep ('Smoel' in mijn voorbeeld)

Verder weet ik ff ook niks te verzinnen.
Hier werkt het iig, maar daar heb je lekker veel aan duh...

  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
Haha nouja dat jij het aan de gang hebt is wel handig. Mischien dat je het even kan mailen ofzo? Dat zou fijn zijn dan kom ik het probleem denk ik vanzelf wel tegen. Je kan het mailen naar het adres in mijn profiel als je wilt.

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


Verwijderd

Check je meel

  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
respect!

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
ik heb hem binnen :) sorry oor deze nutteloze post trashen ? :D

[ Voor 83% gewijzigd door G F0rce 1 op 03-10-2003 13:16 ]

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


Verwijderd

edit:

...

[ Voor 95% gewijzigd door Verwijderd op 03-10-2003 13:17 ]


  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
Nee sorry het spij me ik zat op mijn hotmail te kijken ! Bedankt! Ik denk dat ik het daar wel mee haal maar als je wil kan je hem ook nog naar de hotmail sturen hoor. Bedankt voor de hulp man _/-\o_

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin


Verwijderd

.

[ Voor 100% gewijzigd door Verwijderd op 31-10-2023 21:55 ]


  • G F0rce 1
  • Registratie: Juli 2003
  • Laatst online: 04-03-2015
offtopic:
George het wordt een beetje offtopic zo maar ik heb je mail nog steeds niet ontvangen of hij is kwijt geraakt anders stuur hem maar naar reinoud2020@hotmail.com .

I feel absolutely clean inside, and there is nothing but pure euphoria. - Alexander Shulgin

Pagina: 1