Kan en venlig sjæl fortelle mig VB-nybegynder hva der skal stå?
Jeg ønsker at Access skal hente et billede (hvis sti og navn står i feltet Imagepath i tabellen Student) og plassere billedet i billedboksen der hedder Imageframe i headersektionen i den aktuelle Rapport. Jeg får fejl når jeg skriver således i sidehoved ON Format Hændelse:
Private Sub Sidehoved_Format(Cancel As Integer, FormatCount As Integer) Me.Imageframe = [student]![Imagepath] End Sub
Gå til tabellerne. Opret en link til en tabel Find frem til den fil du har. Vælg den. Og vælg til sidst den tabel, hvor det ligger i. Herefter kan du faktisk henvise direkte til tabellen derovre blot ved at benytte navnet på link\'et.
Du kan se, at det er et link, ved at der er en lille pil forand tabellens navn !!
Hi moses, Jeg forstår ikke riktig hva du mener: De relationer jeg har etableret mellem de forskellige tabeller er sat op i vinduet \'Relationer\' og vises jo ved linier og piler der viser de forskellige \'jointyper\'.
For det første, så kan du ikke trække noget direkte fra en fil. Du skal først sammenkoble Access med filen. I dit tilfælde er det nemmest ved at gå til tabellerne, højreklikke på den hvide baggrund og vælge \"opret link\" til den fil og deri den fil, som du vil bruge. Derefter har du en link til tabellen (indikeret med den lille sorte pil ved tabellen). Du kan for selve link\'et godt have et andet navn end filens eller de der i liggende tabellens navne. NU kan du så henvise til: [Link\'ets navn]![feltets navn]
Du skal bare lige huske, at der skal være nogle kriterier, der udvælger, hvilken record i denne tabel der egentlig skal bruges !!!!!!
Takk, Moses. Jeg har stadigt problem med denne sag. Det er meget venligt af dig at prøve at hjelpe mig, men jeg er ikke god til VB.
For det første: i min version af Access er det ingen mulighet der heddder \"opret link\" når jeg højreklikker på den hvide baggrund på fanebladet Tabeller. Der findes en der hedder \"sammenkæd tabeller\" og denne giver mulighed for at gå til en anden database eller et regneark eller... men ikke til et directory/bibliotek? Sagen er jo den at billederne ligger som JPGfiler i en alminnelig mappe. Hvert billede har et eget navn og oplysningen om hvordan billeder og personer hænger sammen er angivet i billedtabellen:
EKSEMPEL: navnetabel billedtabel Navne_key 0001 Billed_ID_key 0017 Billed_ID 0017 Navn 0001 navn JENS imagepath BB\\.jpg
I relationer er angivet en-til-en sammenhæng fra navnetabellens til billedtabellens Billed_ID til billedtabellens Billed_ID_key.
I rapporten går det galt: Når jeg prøver at indsætte Billede vil systemet at jeg skal pege på et bestemt billede. Det skal jeg jo ikke, vel? Når jeg prøver ay indsætte Bundet objektramme og under Kontrolelementkilde skriver Imagepath som er det feltnavn som de undeliggende data indeholder, kommer der intet billede frem når rapporten køres. Når jeg vælger Ubundet objektramme, får jeg også tilsyneladende kun mulighed for at vælge et bestemt billede! Her har jeg også prøvet at indsætte et tilfældigt billede og så i OnFormat indsætte flg hændelsesprocedure:
Private Sub Sidehoved_Format() Me.Imageframe = [Imagepath] End Sub
Jeg får da denne fejl:
\"Udtrykket VedFormatering, du indtastede som indstilling af hændelsesegenskaben, gav en fejl: Erklæringen til hændelsesproceduren passer ikke til beskrivelsen af den hændelse, der har samme navn. *Udtrykket resulterer måske ikke i navnet på en makro, i navnet på en brugerdefineret funktion eller en [hændelsesprocedure]. * Der opstod måske en fejl under evalueringen af funktionen, hændelsen eller makroen.\"
Dette siger mig ikke rigtigt noget - kan du forklare dette?
BoundObjectFrameName er, hvad navnet siger et bound object frame på din form. På en knap ved siden af, kan du lave denne kode, så kan du se, hvordan det virker.
Hi Moses, Du sagde jeg skulle \"lave denne kode på en knap ved siden af\" ? Hvad mener dU? Hvilken knap? Ved siden af hvad?
Jeg har nu prøvet flg beregning i min rapport - sektion sidehoved - Ved formatering - hændelsesprocedure:
Private Sub Sidehoved_Format() Me![Imagebox].OLETypeAllowed = acOLELinked Me![Imagebox].SourceDoc = [student]![Imagepath] Me![Imagebox].Action = acOLECreateLink End Sub
eller
Private Sub Sidehoved_Format() Me![Imagebox].OLETypeAllowed = acOLEEmbedded Me![Imagebox].SourceDoc = [student]![Imagepath] Me![Imagebox].Action = acOLECreateEmbed End Sub
- hvor imagebox er navnet på den bundne objektramme - og begge disse varianter gir samme fejl som før:
\"Udtrykket VedFormatering, du indtastede som indstilling af hændelsesegenskaben, gav en fejl: Erklæringen til hændelsesproceduren passer ikke til beskrivelsen af den hændelse, der har samme navn. *Udtrykket resulterer måske ikke i navnet på en makro, i navnet på en brugerdefineret funktion eller en [hændelsesprocedure]. * Der opstod måske en fejl under evalueringen af funktionen, hændelsen eller makroen.\"
Kan du forstå dette? Jeg må indrømme at jeg ikke kender udtrykkene i din sætning og at det måske er årsagen til misèren?
Du laver en form med en bundet object frame og en knap (som du selv sætter på formen). Formen skal selvfølgelig have en recordsource (en tabel), hvor den kan lægge sine data. Der skal der være et felt, som er et objekt, som din object frame skal linkes til.
Dernæst definerer du min formel til knappens klik hændelse.
Når du åbner formen, er der jo ingen data i og der vises derfor heller ikke noget. Hvis du så trykker på knappen, henter den filen og klistrer den ind i object frame\'en.
Der giver ikke nogen mening at klistre en fil på object frame\'en hver gang du kommer til en record. Det ville jo svare til at fylde alle felter ud i en record, hver gang du flyttede til en record. Data\'ene ligger jo netop i recorden. Det er kun, hvis du vil oprette en ny record eller vil ændre i en eksisterende, at du lægger data ind.
Dette var presis hva jeg trengte. Jeg har sakset den og det virker \"som smurt\"!
Ha det og takk for din gode vilje og alle den tid du har brukt på meg. Slutt fra Michael
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.