Toon posts:

Acces Visual Basic

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb in Microsoft Acces 2000 een database waar ik hard mee bezig ben.
Nu zijn we deze ook aan het internet aan het koppelen, maar door problemen
is dit even uitgesteld. Ik ben nu aan de lokale database aan het knutselen
die nog wat rare problemen heeft:

Op een product pagina staat een foto van het product dat ie ergens van de harde
schijf afpikt. Met de volgende code:

Private Sub Form_Current()
On Error GoTo 10
Me.AllowEdits = False
Me.foto.Picture = "z:\images\products\" & ProductID & "\" & ProductID & ".jpg"
GoTo 20
10
Me.foto.Picture = "z:\images\products\nopic\nopic.jpg"
20
End Sub

Nu als ik snel door de records blader word door wonderen mijn database afgesloten, acces afgesloten zonder enige melding! :( Iemand hier ervaring mee?

Ook nog een ander vraagje niet zo zeer visual basic. Ik heb ook enkele rapporten.
Deze hebben een afwijkende pagina matges dan de standaard. Nu worden deze marges steeds terug gezet naar standaard, na enkele keren gebruiken waardoor de rapporten compleet verkeerd uit de printer rollen! 8)7 Nog creatieven mensen?

Bedankt!

  • Phenomenon
  • Registratie: December 2000
  • Laatst online: 01-04 13:18
Ehhm probeer eens een error afhandeling erin te bouwen. Nu probeer je als een error komt weer een foto te veranderen. En wat als daar die error nu uit voorkomt? Dan krijg je error na error na error.

En die goto (getal) is ook net echt mooi he.

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 00:27

mulder

ik spuug op het trottoir

Koop een goed beginners boek over Access, VBA en gebruik nooit meer Goto 10...

oogjes open, snaveltjes dicht


Verwijderd

Topicstarter
gebruik nooit meer Goto 10...
Wat is er zo erg aan goto 10??
Ik ben vrij ervaren met acces, maar vind dit gewoon rare problemen.

  • nIghtorius
  • Registratie: Juli 2002
  • Laatst online: 26-08 12:20

nIghtorius

Poef!

ja.. goto's are evil })

goto's veroorzaken behoorlijk moeilijk leesbare code (ook bekend als spagetti code).

die 'Goto 20' is hier een heel rottig gevalletje.. waarom moet je persee naar je "End Sub" springen.. ik zou ipv "goto 20" -> "Exit Sub" gebruiken.. is veel netter en je weet direct wat er bedoelt wordt.. nu moet je eerst kijken wat regel 20 doet.

de goto 10 in je 'On Error goto' regel is ook niet netjes.. beter is.

On Error Goto FoutAfhandeling

sub
<code>
<code>
exit sub
FoutAfhandeling:
<code>
<code>
<code>
end sub

het geeft een betere beschrijving van wat het doet.

[ Voor 44% gewijzigd door nIghtorius op 09-12-2002 16:58 . Reden: meer nfo ]

Ryzen 9 5900X @ 5.1Ghz | MPG B550 GAMING CARBON | 96GB DDR4-3200 | RTX 4070TI | 2TB + 1TB m.2 SSD | 3x 1TB HDD | 1x 2TB SATA SSD | 32" G3223Q (4K/144Hz)


Verwijderd

Topicstarter
Daar heb je helemaal gelijk in! heb ik ook wel vaker problemen mee gehad!
Ik dacht dat het foute in code kon opleveren als je getallen gebruikt. Gebruik
tegenwoordig ook andere benamingen maar dit is een stukje oud script.

  • whoami
  • Registratie: December 2000
  • Laatst online: 09:56
Goto's moet je altijd anders oplossen. En dat kan je ook. Door gebruik te maken van If, while, etc... Misschien wat meer werk in het begin, maar veel onderhoudbaarder, leesbaarder, en minder error-prone.

https://fgheysels.github.io/


  • Sponge
  • Registratie: Januari 2002
  • Laatst online: 15-08 11:47

Sponge

Serious Game Developer

hmm, in normaal VB zou dit zijn:
code:
1
Me.foto.Picture = Loadpicture("z:\images\products\" & ProductID & "\" & ProductID & ".jpg")
Pagina: 1