Fixa bilder i ett formulär så här
1 Bilderna kommer naturligt in som ett av de sista momenten under formulärskapandet men eftersom formulärskapandet kan vara ett ganska omfattande jobb går jag här inte närmare in på detta.
 I princip kan man säga att man efter avslutad tabelldesign går till databasfönstret (det centrala fönstret för val av olika funktioner i Access) och där väljer Formulär/Ny samt designläge.
 Därpå klickar man på ikonen Fältlista.
 Man får en lista på alla de fältnamn man definierat och sedan drar man fält efter fält till formuläret och bestämmer sig för placering och eventuell formatering.
Efter Formulär/Ny ovan kan man i stället välja en formulärguide men detta är lämpligt bara om man har ett fåtal fält och inte använder flikar (se punkt 2 och 3).
2 För att bilden skall kunna visas i någorlunda storlek är det ofta tillrådligt att använda flera flikar i formuläret. Om flikar behövs så är det bäst att välja detta från ikonen i Verktygslådan redan innan fälten placeras ut, så att de redan från början placeras på rätt flik.
För egen del har jag valt att placera huvudbilden på flik 1 tillsammans med de allra viktigaste uppgifterna, såsom namn och beskrivning, medan extrabilderna placeras på någon av de följande flikarna där ytterligare data också kan placeras.
Jag har funnit det lämpligt att på det sättet gruppera mina data och använda upp till sex flikar. Det gör att jag inte behöver scrolla för att nå olika data – det räcker med att växla flik. Man vinner också att man kan ta en skärmdump på varje skärm eller grupp av data.
 3 Med rätt formulär och flik i designläge på skärmen, väljer du ikonen Verktygslådan och i den ikonen Bild. Markera sedan önskad plats i formuläret.
 Nu frågas efter bildnamn och här kan vilken bildfil som helst väljas (syns sedan bara i designläge). Denna bild behöver i och för sig inte vara lika för de olika platserna men det är praktiskt. Jag har valt filnamnet "grundbild".
 Det valda bildnamnet framgår sedan under Egenskaper/Format/Bild. Bildnamnet kan där ändras om man ångrar sig.
Dra sedan i bildrutans handtag till önskad storlek, högerklicka i bilden och välj Egenskaper. Under Format, Skalning ändras till Zooma. Under fliken Annat namnges bildplatsen till H-bild när det gäller huvudbilden, eller E-bilda och så vidare när bildplatsen är avsedd för visning av eventuella extrabilder.
4 Skapa en "0-bild", kallad AB0000.tif (se koden nedan). Den skall ligga i bildmappen (C:\Acc\Bild). Bildnamnet kan vara godtyckligt bara det överensstämmer med namnet i koden.
Även bildinnehållet kan vara godtyckligt, men bilden bör innehålla en text som säger till exempel "Bild saknas". Lägg en bild i bildmappen med detta postnummer och i övrigt namngiven enligt reglerna.
5
Högerklicka nu i den lilla rutan till vänster om den vågräta linjalen och ovanför den lodräta linjalen. En svart fyrkant tänds där (om den inte är tänd), och en meny kommer fram där man klickar på Egenskaper.
Under fliken Händelser finns en rad Vid ny post- Klicka ute i högermarginalen på raden, bl.a. syns nu tre punkter. Klicka på dessa och det kommer upp ett fönster som frågar efter vilket hjälpverktyg du vill ha. Välj Kodverktyget.

Ett fönster från Visual Basic visas med första raden och sista raden från koden nedan. Mata in från rad 2 och nedåt utom den sista raden, som ju redan finns. Var noga med mellanslag och liknande. Stäng sedan fönstret. Finns det fel i koden får du besked om det.
Koden
Private Sub Form_Current()
If Me.NewRecord Then
Me![H-bild].Picture = "C:\Acc\Bild\AB0000.tif"
Me![E-bilda].Picture = "C:\Acc\Bild\AB0000.tif"
Me![E-bildb].Picture = "C:\Acc\Bild\AB0000.tif"
Exit Sub
End If
Dim Plats As String
Dim Platsa As String
Dim Platsb As String
Dim NRPadded As String
NRPadded = CStr(Me!Saknr) ' (Används om bilderna numrerats 1,2,10 etc)
Plats = "C:\Acc\Bild\AB" & NRPadded & ".tif"
Platsa = "C:\Acc\Bild\AB" & NRPadded & "a.tif"
Platsb = "C:\Acc\Bild\AB" & NRPadded & "b.tif"
If Dir(Plats) = "" Then Plats = "C:\Acc\Bild\AB0000.tif"
If Dir(Platsa) = "" Then Platsa = "C:\Acc\Bild\AB0000.tif"
If Dir(Platsb) = "" Then Platsb = "C:\Acc\Bild\AB0000.tif"
Me![H-bild].Picture = Plats
Me![E-bilda].Picture = Platsa
Me![E-bildb].Picture = Platsb
End Sub
|
Observera! Om bildnumrering skett med inledande nollor strykes den rad ovan som börjar NRPadded = och ersätts med:
NRPadded = Right ("000" & CStr (Me!Saknr), 4 '(Används om numren skrivs 0001, 0002, 0010 etc.)
Därmed är formulärdelen klar i detta avseende och bilderna visas på de önskade platserna.
|