PDA

Vollständige Version anzeigen : VBA Routine getFileName von der Nordwind DB


ThomasGS
27.03.2006, 18:17
Hallo Allerseits

Acc2003 und XP Prof und nen einigermaßen schnellen Rechner :mrcool:

Ich habe aus der Nordwind DB das die folgende Routine raus kopiert und bekome sie nicht ans laufen, nicht ganz richtig das Formular Personal und alle Vba's

Das ich Microsoct Object libary 11.0 nach installieren mußte hat mir Google verraten , was mich zu einer Zwischenfrage nötigt :-( wann o. woher weis ich welchen von den tausenden von Verweisen ich jemals installieren muß )

jetzt aber wieder zur Frage !

Sub getFileName()
' Zeigt das Dialogfeld "Datei öffnen" von Office an, in dem ein Dateiname
' für den aktuellen Datensatz ausgewählt werden kann. Das Bild wird dann
' im Bild-Steuerelement angezeigt.
Dim fileName As String
Dim result As Integer
With Application.FileDialog(msoFileDialogFilePicker)
.Title = "Personalbild auswählen"
.Filters.Add "Alle Dateien", "*.*"
.Filters.Add "JPEG-Dateien", "*.jpg"
.Filters.Add "Bitmaps", "*.bmp"
.FilterIndex = 2
.AllowMultiSelect = False
.InitialFileName = CurrentProject.Path
result = .Show
If (result <> 0) Then
fileName = Trim(.SelectedItems.Item(1))
Me!.Visible = True
Me![Bildpfad].SetFocus
[B] Me![Bildpfad].Text = fileName


Me![Vorname].SetFocus
Me![Bildpfad].Visible = False
End If
End With
End Sub

bei der fett dargestellten Zeile "hängt" er sich auf Warum ??


Ich sage jetzt schon einmal Danke

in diesem sinne

stpimi
27.03.2006, 20:12
Ist Me!Bildpfad das Bildsteuerelement? Dann hat das keine Text-Eigenschaft.

Probier dort mal Me!Bildpfad.Picture

ThomasGS
27.03.2006, 20:51
Hallo Michael

nein leider nicht
bekomme immer noch die Fehlermeldung :(

stpimi
28.03.2006, 06:54
Wie lautet denn die Fehlermeldung?

Weiters: Prüf mal, was in FileName zur Laufzeit drinnensteht:

...
Me![Bildpfad].Visible = True
Me![Bildpfad].SetFocus
MsgBox FileName
'Me![Bildpfad].Picture = fileName 'auf kommentar setzen!
Me![Vorname].SetFocus
Me![Bildpfad].Visible = False
....

Eventuell könnte auch der Variablenname FileName schuld sein, wenn es zu einer Verwechslung mit einem Eigenscahften- oder Methodennamen kommt. Dann könnte es etwas nützen, die Variable z.b. auf strFileName umzubenennen.

ThomasGS
01.04.2006, 08:18
Hallo Michael

sorry das ich erst heute antworte aber leider hat das Problem sich nicht ausgesessen , es ist immer noch da, habe deine Ratschläge umgesetzt hat aber leider nicht ......

Die variable habe ich auf strfilename umbenannt


zur Laufzeit
erschien deise nette Meldung
Laufzeitfehler 438
Objekt unterstützt diese Eigenschaft oder Methode nicht

hast du noch eine Idee ?

Leseratte
01.04.2006, 11:40
hast Du in deinem Formular auch ein Steuerelement (Texfeld) Bildpfad? Wenn ja, dann stimmt die Eigenschaft Me!.Text
dann brauchst Du noch ein Steuerelement Bild (Name= Bildrahmen), aber [B]ohne ein Bild anzugeben! Hintergrund Transparent setzen.
erweitere deine Code hinter End With
Me![Bildrahmen].Picture = Me![Bildpfad]


und dann sollte das Bild erscheinen

BitByter
01.04.2006, 12:09
Hi,

fehlt da möglicherweise ein Verweis auf auf die DAO-Bibliothek?
Also, im VBA-Fenster unter 'Extras' --> 'Verweise' --> Microsoft DAO x.xx Object Library anhaken.

Hoffentlich hilft's

ThomasGS
01.04.2006, 14:09
wenn du, siehe unten, denn meinst das habe ich rausgefunden und installiert
leider funktioniert es immer noch nicht



Das ich Microsoct Object libary 11.0 nach installieren mußte hat mir Google verraten , was mich zu einer Zwischenfrage nötigt :-( wann o. woher weis ich welchen von den tausenden von Verweisen ich jemals installieren muß )


FG
aus dem norden
thomas

Leseratte
01.04.2006, 14:17
häng mal die DB an, ich schau mir das mal wenn wenn Du willst

Engeli
02.04.2006, 12:19
Hallo

habe auf der basis Bilder einfügen aus der DB Nordwind eine DB erstellt. wenn interresse vorhanden. mail an arni10@vtxmail.ch und ich schicke sie dir zu.
Evt. reicht ja schon die angehängte DB.