afbeelding

Status
Niet open voor verdere reacties.
heb hem als test opgeslagen, als ik in de regel foto een adres van een willekeurig foto zet krijg na er op te klikken een foutmelding 490?
Als ik het goed begrijp komt er als de regel gevuld is door er op te klikken een Foto te voorschijn - waar?
dat is dan ook voor doc en form?

frandor
 
Op welke regel krijg je de foutmelding? Ik heb de code Late Binding gemaakt, dus hij zou in elke Access versie probleemloos moeten werken.
 
op de regel foto- 490 - het opgegeven bestand kan niet worden geopend.
bij foutopsporing staat - 5 regel application.followHyperlink Me.Foto.Text
de code ziet er indrukwekkend uit is voor mij duidelijk nog een brug ter ver.
 
De regel application.followHyperlink Me.Foto.Text zóu moeten werken; FollowHyperlink doet niet veel anders dan de bij de extensie behorende applicatie openen. Je zou eens kunnen testen met een ander type bestand, bijvoorbeeld een Word document, of een Excel document. In beginsel kun je een hoop documenten inlezen met deze code. Dit zijn overigens de procedures voor de 3 tekstvakken, waarbij ik er één heb hernoemd omdat je voor dat veld een systeemnaam (Form) hebt gebruikt, en Access kan daar uiteraard niet mee uit de voeten.
Code:
Private Sub txtForm_Click()
    If Me.txtForm.Text & "" = "" Then
        Me.txtForm = BestandOpzoeken
    Else
        Application.FollowHyperlink Me.txtForm.Value
    End If
End Sub

Code:
Private Sub Doc_Click()
    If Me.Doc.Text & "" = "" Then
        Me.Doc = BestandOpzoeken
    Else
        Application.FollowHyperlink Me.Doc.Value
    End If
End Sub

Code:
Private Sub Foto_Click()
    If Me.Foto.Text & "" = "" Then
        Me.Foto = BestandOpzoeken
    Else
        Application.FollowHyperlink Me.Foto.Value
    End If
End Sub
 
Waarom gebruik je niet gewoon een attachment field?
Doe ik nou net zoveel moeite om uit te leggen dat je dat dus eigenlijk nooit moet doen, ga jij het onderuit halen :).
 
Er zijn veel methodes om iets te doen, en omdat iemand een bepaalde methode niet goed vindt kan die wel goed werken voor anderen. Het is misschien een meer moderne methode dan je gewoon bent, maar eens je het onder de knie hebt zeker een heel goede methode. Als je wil kan ik wel een kleine manual schrijven, maar er is al veel op het internet te vinden hoor.
 
Er zijn veel methodes om iets te doen, en omdat iemand een bepaalde methode niet goed vindt kan die wel goed werken voor anderen.
Het is niet een kwestie van goed vinden of fout vinden, en al helemaal niet van niet onder de knie hebben; je database groeit belachelijk snel als je objecten binnen de database opslaat. En het is nergens voor nodig, want het wint helemaal niks, behalve dat je db sneller trager wordt. Ik zie de meerwaarde niet, tenzij je de db vaak meeneemt en de bestanden dan niet tot je beschikking hebt. En nee, je hoeft voor mij geen handleiding te schrijven, dat kan ik zelf wel :).
De 'Moderne methoden' die ze bij Microsoft bedenken hebben doorgaans niet veel meerwaarde, en al helemaal niet in Access. Ik kan nog steeds kwaad worden op de manier waarop ze de prachtige Fx knop in Excel (versie 95 zat de laatste goede) om zeep hebben geholpen voor iets knulligs. En voor Access kan ik echt heul veul voorbeelden opnoemen :).
 
Als je access gegevens opslaat in een access back-end heb je inderdaad dikwijls problemen, daarom gebruik ik altijd SQL server (express) als BE, maar er zijn nog goede systemen als MariaDB of MySQL. Die werken heel wat optimaler en kan je tenminste beveiligen. Ik ben er wel niet mee eens dat alle aanpassingen alleen slecht zijn. Je moet wel durven openstaan voor veranderingen. Als IT-er kan je niet blijven stilstaan in het verleden. Zelf ben ik ook ooit begonnen met Access maar werk ik nu meer en meer met databases in de cloud: Azure, Hadoop, … .
IT-systemen evolueren nu eenmaal en dat is maar goed ook. Als ik zie wat je nu allemaal met Excel power-queries kan, chapeaux
 
Het lag inderdaad niet aan jouw code, ik heb een document geprobeerd en een afbeelding van een andere locatie en alles werkt goed.
Nu nog alles aanpassen in de echte db.

De discussie die over dit onderwerp ging kan waardevol zijn maar niet voor een leek zoals ik.
Hoeveel bomen in een bos wil je...

Kan ik die code die je gebruikt heb bij het fotoveld gebruiken voor het doc. veld en evt form veld?
of moet ik die drie gebruiken die je hier geschreven heb.

Frandor
 
Kan ik die code die je gebruikt heb bij het fotoveld gebruiken voor het doc. veld en evt form veld?
Je moet de code gebruiken die ik in bericht #24 heb geplaatst, omdat je de uitkomst in drie verschillende tekstvakken plaatst. De code is verder identiek.
 
Hartelijk dank Octafisch voor de uitleg en de codes.

Ga er mee aan de slag, als ik dit werkend heb kan ik met mijn eigen db aan de slag..en zal ongetwijfeld weer vragen hebben.
want als ik zie op dit forum wat er nog meer mogelijk is..
Frandor
 
Ik heb in het weekend er aardig wat tijd aan besteed, maar ik heb niet kunnen ontdekken waar en hoe ik de code in het betreffende veld kan plaatsen?
heb de gegevenstype bijlage's verwijderd uit de tabel en tekst velden er voor in de plaats aangemaakt.

Frandor
 
Je plaatst de code niet 'in het betreffende veld', maar aan de Gebeurtenis. In mijn voorbeeld zit dat op het tekstveld Foto. Als je in de ontwerpfase van het formulier naar de Eigenschappen van het veld gaat, en je klikt op het tabblad <Gebeurtenis>, dan zie je daar een gebeurtenisprocedure staan bij de regel <Bij klikken>. Als je dan op de knop met de drie puntjes klikt, kom je in de code terecht. Je moet, als je op andere objecten óók een gebeurtenis wilt hebben, daar dus ongeveer hetzelfde doen: de regel Bij klikken> selecterenen dan op de knop met de drie puntjes klikken. Vervolgens kun je het grootste deel van de code kopiëren en plakken. Wat je dus wél zelf moet doen, is de naam van de klikobjecten aanpassen, want dat doet de procedure (nog) niet. Al kan ik hem nog wel zo maken dat je zelfs dat niet meer hoeft te doen :).
 
Toch maar even gedaan voor je :). Je krijgt dan dit:
Code:
Option Compare Database
Dim sObject As String

Code:
Private Sub txtForm_Click()
    sObject = Me.ActiveControl.Name
    If Me(sObject) & "" = "" Then
         Me(sObject) = BestandOpzoeken
    Else
        Application.FollowHyperlink Me(sObject).Value
    End If
End Sub

Code:
Private Sub Doc_Click()
    sObject = Me.ActiveControl.Name
    If Me(sObject) & "" = "" Then
         Me(sObject) = BestandOpzoeken
    Else
        Application.FollowHyperlink Me(sObject).Value
    End If
End Sub

Code:
Private Sub Foto_Click()
    sObject = Me.ActiveControl.Name
    If Me(sObject) & "" = "" Then
         Me(sObject) = BestandOpzoeken
    Else
        Application.FollowHyperlink Me(sObject).Value
    End If
End Sub

Je ziet dat de code nu overal identiek is, dus nu kun je de code simpel kopiëren en plakken waar je hem nodig hebt, en hij werkt altijd.
 
Het werkt........ er zat nog een stap tussen waar ik de code in kon voeren maar uiteindelijk is dat gelukt...
maar ook een nieuwe vraag, ik gebruik voor deze tabel 4 formulieren - overzicht- invoer nieuw- zoek op naam- zoek op nummer.
in een bestaand record het veld Foto. ed. invuld ( wat ik vanzelfsprekend ook zo bij - invoer nieuw- doe)
Ik heb ook de andere formulieren zo aangapast. Het resultaat staat dan ook in het form. zoek op naam - zoeken op nummer- maar bij klikken erop geen reactie


Frandor
 
Was te snel met mijn goede bericht, als de ene link werkt is de andere weg?
in de tekstvelden zoals gezegd de code ingevoerd.
bij het toevoegen van de link naar, verschijnt dat ook in het veld.
als ik echter in het volgende tekstveld een link wil toevoegen geen reactie, bij de eigenschappen waar eerder de code was ingevuld is dan leeg?
Schijnbaar werkt het alleen bij een tekstveld?
wat doe ik fout...
 
#bericht 36: de code zet je op specifieke formulieren. Als jij nieuwe formulieren maakt op dezelfde tabel (overigens in mijn optiek nergens voor nodig, alles wat je nu doet kan met één, maximaal twee formulieren ook) moet je bij elk formulier dus ook de code toevoegen.

#bericht 37: klopt, de code is bedoeld voor tekstvelden
Overigens snap ik niet helemaal wat je bedoelt met je opmerkingen. Bij mij slaat hij de waarden gewoon op in de tabel, en blijven ze ook staan.
 
36 De formulieren zijn zo ontstaan van het begin, eerst een standaard form om gegevens in te vullen, nadien een blanco voor nieuw gegevens, en de zoek form.
Dit hoofdzakelijk om te zien of en hoe het werkte. de vereenvoudiging een blanco met daarop de twee zoek criteria is een volgende stap.
Maar misschien moet dat eerst doen?

37 In de eigenschappen van de tekstvelden de twee eerste regels en daarna de bijhorende code ( doc. foto of form.) ingevoerd.
Open ik het form. en klik op een van tekstvelden de gegevens voor de link. bv. doc waarop de link naar in het veld staat en werkt.
Wil ik dat bij een volgend veld (Foto) doen gebeurt er niets, kijk ik dan in de eigenschappen / gebeurtenis van dat veld staat er niets meer in?
zoals ook bij het andere tekst veld.
vandaar de opmerking voor een (1) tekstveld?
 
Laatst bewerkt:
Post je voorbeeldje eens, dat kijkt wat makkelijker. Je mag hem ook opsturen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan