03. november 2002 - 08:05Der er
8 kommentarer og 1 løsning
save/update form
Hej alle Jeg har en form hvor jeg indtaster stien til nogle billeder, men billederne bliver først loadet når jeg gemmer stien i tabellen. Så jeg ser først billedet når jeg går tilbage til den record jeg lige havde oprettet. Det jeg gerne vil, er at se billedet når stien er indtastet, men inden hele formen er udfyldt (save_record)(update_form) Er det muligt ??
Du må have en kode, der henter billedet når formularen åbner. I det eksempel, jeg har brugt, ligger flg. kode i formularens UpDate event. D.v.s. at billedet først vises, som du beskriver i dit spørgsmål. Denne kodeskal du blot flytte til det felt, hvori du indtaster stien. Jeg bruger 2 felter til stien, og begge skal så være udfyldt. Jeg har derefter indsat flg. kode i både formularens OnCurrent og i det sidste felt i Exit event hvori jeg har indtastet koden.
If Not IsNull(Me!FigurPath) Then Me!Billede.Picture = Me!FigurPath & Me!FigurFil Else Me!Billede.Picture = "" End If End Sub
Tak for et hurtigt svar... DoCmd.RunCommand acCmdSaveRecord virker fint formularen bliver nu gemt når jeg har indtastet stien til billedet. Men billedet bliver ikke loadet ind i formularen, heller ikke med refresh. Først når jeg opretter en ny record, og så går tilbage. Så kommer billedet fint ind. Men jeg vil have billedet loadet inden jeg er færdig med recorden Jeg bruger access 2002, hvis det har nogle betydning.
Korrekt. Men hvor har du indtastet koden der henter billedet? Jeg har indtastet koden i feltet i Exit Event. Og det er det som afgør, hvornår db henter billedet. Da jeg afprøvede koden brugte jeg ikke DoCmd.Save .... Det betyder ikke noget om du bruger 2002.
Private Sub PicturePath_GotFocus() Me.PicturePath = "\\xxxx\G\mp3\" & [Kunstner] & " - " & [Tittel] & "\front.jpg" Me.PicturePath2 = "\\xxxx\G\mp3\" & [Kunstner] & " - " & [Tittel] & "\back.jpg" Me.PicturePath3 = "\\xxxx\G\mp3\" & [Kunstner] & " - " & [Tittel] & "\cd.jpg" DoCmd.RunCommand acCmdSaveRecord End Sub Private Sub Form_Current() ' Sikre at applikationen kan håndtere ' hvis filen ikke findes On Error Resume Next Dim strTempPath As String Dim intCharAt As Integer Dim strPath As String
' Find navnet på database (inklusiv stien) strTempPath = Application.CurrentDb.Name ' Udtag stien til database intCharAt = InStrRev(strTempPath, "\") ' Find stien til databasen strPath = Left(strTempPath, intCharAt) ' Findes der en reference til stien If Not IsNull(Me!PicturePath) Then ' Indsæt billedet Billede5.picture = Me!PicturePath Else Billede5.picture = " " End If ' Find navnet på database (inklusiv stien) strTempPath = Application.CurrentDb.Name ' Udtag stien til database intCharAt = InStrRev(strTempPath, "\") ' Find stien til databasen strPath = Left(strTempPath, intCharAt) ' Findes der en reference til stien If Not IsNull(Me!PicturePath2) Then ' Indsæt billedet Billede6.picture = Me!PicturePath2 Else Billede6.picture = " " End If ' Find navnet på database (inklusiv stien) strTempPath = Application.CurrentDb.Name ' Udtag stien til database intCharAt = InStrRev(strTempPath, "\") ' Find stien til databasen strPath = Left(strTempPath, intCharAt) ' Findes der en reference til stien If Not IsNull(Me!PicturePath3) Then ' Indsæt billedet Billede7.picture = Me!PicturePath3 Else Billede7.picture = " " End If End Sub
Procedüren der finder billedet hatr du indsat her i Private Sub Form_Current(), og det fungerer jo hver gang formularen opnår status som Current. D.v.s. når formen åbnes / du skifter post.
Indsæt koden I. f.eks Me.PicturePath3 i feltets Exit event. Det får Access til at eksekvere koden hver gang du forlader feltet, og finder derved billedet.
YEEEHAAA Det virker... kan jeg fjerne koden i Private Sub Form_Current() eller skal den stå begge steder ?? hvis jeg fjerner den, så loader den vel ikke billedet når jeg bladrer i mine record ?? eller tager jeg fejl
Begge steder. Ellers henter den ikke billedet når du bladrer, som du selv skriver.
Når du indsætter en kode, skal du hele tiden tænke på:
Hvor og hvornår.
I venstre side af kodemodulet vælger du "hvor", i hvilket felt / form. I højre side vælger du "hvornår". Når du forlader et felt (Exit), inden tabellen opdateres (Beforeupdate) o.s.v.
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.