Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Bilder dynamisch anzeigen OHNE festen Pfad
zurück: Mehrere Daten aus einer Tabelle in einem Formular anzeigen weiter: Wann ist ein REQUERY beendet? Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Antwort Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Aurelius
Gast


Verfasst am:
19. Dez 2006, 16:42
Rufname:

Bilder dynamisch anzeigen OHNE festen Pfad - Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo!

Ich habe hier ein kleines Problem. Ich möchte in einem Formular Bilder dynamisch anzeigen lassen. Geht auch wunderbar, solange ich die Datenbank nicht verschiebe oder auf einem anderen Rechner nutzen will. Auf der Arbeit nutze ich Access 2000, zuhause Access 2003.

Zwar habe ich das Ganze dynamisch aufgebaut mit:
Code:
    Dim DBPfad, Bildpfad, HGrund1, HGrund2
   
    DBPfad = Left(CurrentDb.Name, Len(CurrentDb.Name) - _
                                  Len(Dir(CurrentDb.Name)))
    Bildpfad = DBPfad & "Bilder\"
    Me!Drehen1.Picture = Bildpfad & "drehen.jpg"
etc. und das klappt auch, solange ich die Datenbank eben nicht verschiebe.

Sobald ich jedoch die Datenbank samt Bilderordner verschiebe oder auf einem anderen Rechner packe versucht er die Bilder aus dem alten Ordnerpfad, der ja nicht mehr existiert, zu laden und ich kriege folgende Fehlermeldung: Informationsdatenbank kann die Datei "E:\Access\Datenbank1\Bilder\drehen.jpg" nicht öffen.

Logisch, wenn die Datenbank nun unter "G:\Datenbank1" zu finden ist. Wie kann ich das ändern, ohne jedes Mal im Code oder in den Eigenschaften rumarbeiten zu müssen, nur weil ich die Datenbank verschiebe oder weitergebe???

Unter den Bildeigenschaften steht auch noch der alte Bildpfad, den ich aber ums Verrecken nicht wegbekomme, da einfach Weglöschen nichts hilft.

Bitte helft mir, ich verzweifel hier langsam!

Gruß,

Aurelius
JörgG
Access-Team


Verfasst am:
19. Dez 2006, 17:37
Rufname:
Wohnort: b. Dresden


AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo,

probiere im Ereignis Formular "beim Laden":
Code:
Private Sub Form_Load()
    Me!Drehen1.Picture = ""
End Sub

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Gast



Verfasst am:
19. Dez 2006, 18:16
Rufname:

AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo!

Da habe ich schon den anderen Code stehen (siehe oben).

Hilft leider nicht.

Gruß,

Aurelius
JörgG
Access-Team


Verfasst am:
19. Dez 2006, 18:45
Rufname:
Wohnort: b. Dresden

AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo,

im Laden-Ereignis??? Verschiebe mal Deinen Code ins "Öffnen" oder "Anzeigen" Ereignis und beim "Laden" setzt Du das "" ein.
Evtl tut's auch ein rustikales On Error Resume Next am Anfang der Sub.

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Aurelius
Gast


Verfasst am:
20. Dez 2006, 13:57
Rufname:


AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo!

Irgendwie verwirrt mich das.

Wenn ich den Code
Code:
Private Sub Form_Load()
    Me!Drehen1.Picture = ""
End Sub

' und

Private Sub Form_Open()
    Dim DBPfad, Bildpfad, HGrund1, HGrund2
   
    DBPfad = Left(CurrentDb.Name, Len(CurrentDb.Name) - _
                                  Len(Dir(CurrentDb.Name)))
    Bildpfad = DBPfad & "Bilder\"
    Me!Drehen.Picture = Bildpfad & "drehen.jpg"
End Sub

' und / oder

Private Sub Form_Current()
    Dim DBPfad, Bildpfad, HGrund1, HGrund2
   
    DBPfad = Left(CurrentDb.Name, Len(CurrentDb.Name) - _
                                  Len(Dir(CurrentDb.Name)))
    Bildpfad = DBPfad & "Bilder\"
    Me!Drehen.Picture = Bildpfad & "drehen.jpg"
End Sub
dann werden mir seltsamerweise gar keine Bilder mehr angezeigt, was vorher wenigstens wurde und die Fehlermeldung Informationsdatenbank kann die Datei "E:\Access\Datenbank1\Bilder\drehen.jpg" nicht öffen. kommt auch dann, wenn ich On Error Resume Next an den Anfang der Subs setze.

Setze ich den Code so
Code:
Private Sub Form_Load()
    'Me!Drehen1.Picture = ""
End Sub
dann zeigt er mir wenigstens wieder die Bilder, auch wenn er beim Laden des Formulars immer noch die nervigen Fehlermeldungen bringt, das er den ursprünglichen Pfad nicht finden kann.

Irgendwie kann ich mal wieder der microsoft'schen Logik nicht so ganz folgen. *sich am Kopf kratz*

Gruß,

Aurelius
JörgG
Access-Team


Verfasst am:
20. Dez 2006, 16:09
Rufname:
Wohnort: b. Dresden

AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo,

hab es gerade mal probiert, stimmt. Tausche Dein Bildsteuerelement. In der Toolbar - weitere Steuerelemente - "Microsoft Forms 2.0 Image" - nenne es wieder "Drehen". Im Ereignis Formular "beim Anzeigen":
Code:
Private Sub Form_Current()
    Dim DBPfad, Bildpfad, HGrund1, HGrund2
   
    DBPfad = Left(CurrentDb.Name, Len(CurrentDb.Name) - _
                                  Len(Dir(CurrentDb.Name)))
    Bildpfad = DBPfad & "Bilder\"
    Me!Drehen.Picture = LoadPicture(Bildpfad & "drehen.jpg")
End Sub
dann kannst Du alles andere weglassen.
_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Aurelius
Gast


Verfasst am:
21. Dez 2006, 20:58
Rufname:

AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo!

Ok, das funktioniert, nun bringt er keine Fehlermeldung mehr. Leider kann ich es nun auch nicht mehr anklickbar machen, weil es kein "Beim Klicken" mehr gibt und Drehen1_Click() ignoriert er. :-/

Ich brauche die Bilder jedoch anklickbar, da hinter jedem Bild bestimmte Funktionen stehen.

Nun habe ich zwei Möglichkeiten:

1) Ich mache aus allen Bilder besagte neue, dann sind die Fehlermeldungen weg, aber die eigentliche Funktion auch.

oder

2) Ich lasse alles, wie es ist, die Bilder sind klickbar, funktionieren auch, aber die Fehlermeldungen sind wieder da (was bei teilweise 20 Bildern pro Form, doch echt nervig ist).

'Was nun?', sprach Zeus...

Gibt es irgendeine Funktion, die ich bei den "Microsoft Forms 2.0 Image" übersehen habe oder geht das da wirklich nicht? Dann wäre das nämlich für mich unbrauchbar, leider. Oder ich muß irgendwie tricksen. *grübel*

Gruß,

Aurelius
JörgG
Access-Team


Verfasst am:
21. Dez 2006, 21:25
Rufname:
Wohnort: b. Dresden

AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo,

hm, da wirst Du wohl einen Button reinzaubern müssen, zB einen transparenten Button darüberlegen.

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Nouba
nicht ganz unwissend :)


Verfasst am:
21. Dez 2006, 22:21
Rufname:
Wohnort: Berlin

AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo,

das Microsoft Forms 2.0 Image-Control zeigt einige seiner Ereignisse, wie jedes andere ActiveX-Control auch, nur im VBA-Editor an. Dort ist dann das Click Event zu finden.

@Jörg: AFAIK kann über ein ActiveX-Steuerelement kein Access-Steuerelement platziert werden.

_________________
mit freundlichen Grüssen Nouba

Wenn beim Lesen eines Beitrags der Eindruck entsteht, dass sich der Fragesteller wenig Mühe gegeben hat, so erhöht das nicht unbedingt die Motivation, eine Antwort zu verfassen.
JörgG
Access-Team


Verfasst am:
22. Dez 2006, 02:01
Rufname:
Wohnort: b. Dresden

AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo,

hm, im VBA-Eigenschaftsfenster zeigt er mir ebenfalls nur die 5 Ereignisse an, die auch im Formularentwurf-Eigenschaftsfenster angeboten werden. Gebe ich aber ein Private Sub MeinImage_Click() wird die Sub brav ausgeführt. Toll. Bisher hab ich das immer so umkurvt das ich die Enabled-Eigenschaft = Nein gesetzt habe und dann klappt das auch, einen transparenten Button darüberzulegen Wink .

Very Happy da hab ich dieses Jahr doch noch was gelernt Razz , Danke.

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Aurelius
Wissenssucher


Verfasst am:
25. Dez 2006, 15:42
Rufname:

AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo!

Super! Funktioniert! Very Happy Einen Button drüberzulegen ist unnötig. ^^ In dem Punkt habt Ihr mir wahnsinnig weitergeholfen und ich werde mir den Tipp für die Zukunft besser mal notieren. Smile

Jetzt bekomme ich nur noch eine Fehlermeldung, was das Hintergrundbild des Formulars angeht. Hat jemand einen Schimmer, wie ich das auch ausmerzen kann? LoadPicture() funktioniert da leider nicht und mit einem riesigen ActiveX im Hintergrund wollte ich eigentlich nicht arbeiten. Confused

Zudem würde ich gerne, wenn man mit der Maus über eines der Bilder geht, den "Hand"-Pointer haben. Ich kann viele Maus-Pointer auswählen (Text, Sanduhr, Richtungspfeile, etc.), nur den leider nicht. Hat jemand eine Idee, wie ich den hinbekomme, damit man weiß, "hier kann man klicken"?

Frohe Feiertage Euch allen!

_________________
Mit freundlichem Gruß,

Aurelius

----------------------------
Wer nie etwas fragt, kann auch kein Wissen sammeln.
JörgG
Access-Team


Verfasst am:
25. Dez 2006, 18:18
Rufname:
Wohnort: b. Dresden

AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo,

das Bild einbetten, wäre eine Möglichkeit oder in dem Du das Bild löschst und es dynamisch "beim Öffnen" zu weist.
Code:
Private Sub Form_Open(Cancel As Integer)
    On Error Resume Next
    Me.Picture = "PfadundBilddatei"
End Sub
Edit: hab mal Nouba's Tipp probiert, ein MouseMove-Ereignis, wo man den Cursor wechseln könnte, scheint das Element nicht zu haben.
_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Aurelius
Wissenssucher


Verfasst am:
27. Dez 2006, 05:39
Rufname:

AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo!

Das ActiveX hat bei mir schon ein entsprechendes Ereignis, um den Mauszeiger umzuendern, nur leider kann man dort nicht die Hand auswählen sondern nur das Textzeichen, die Richtungspfeile, die Sanduhr, etc. Ich frage mich, warum man die Hand nicht auswählen kann.

Das andere probiere ich gleich auf der Arbeit. Smile

_________________
Mit freundlichem Gruß,

Aurelius

----------------------------
Wer nie etwas fragt, kann auch kein Wissen sammeln.
JörgG
Access-Team


Verfasst am:
27. Dez 2006, 15:49
Rufname:
Wohnort: b. Dresden


AW: Bilder dynamisch anzeigen OHNE festen Pfad - AW: Bilder dynamisch anzeigen OHNE festen Pfad

Nach oben
       Version: Office 2k (2000)

Hallo,

ich meinte das Ereignis "bei Mausbewegung", indem man bei normalen Steuerelementen den Cursor per Funktion ändern kann, nicht die Eigenschaft des AktiveX. Da würde es wohl nur so gehen, im System den Cursor auszutauschen.
Dann eher doch den transparenten Button darüberlegen, hier kann der Cursor geändert werden (die Enabled-Eigenschaft des ActiveX muss auf Nein stehen, um das Element zu deaktivieren, sonst - siehe Nouba's Antwort). In einem Forum hatte ich folgendes gefunden:
In einem öffentlichen Modul (Datenbankfenster - Module - Neu):
Code:
Option Compare Database
Option Explicit

Public Const IDC_HAND = 32649&
Declare Function LoadCursorBynum Lib "user32" Alias _
    "LoadCursorA" (ByVal hInstance As Long, _
                   ByVal lpCursorName As Long) As Long
Declare Function LoadCursorFromFile Lib "user32" Alias _
    "LoadCursorFromFileA" (ByVal lpFileName As String) As Long
Declare Function SetCursor Lib "user32" (ByVal hCursor As Long) As Long

Function MouseCursor(CursorType As Long)
    Dim lngRet As Long

    lngRet = LoadCursorBynum(0&, CursorType)
    lngRet = SetCursor(lngRet)
End Function

Function PointM(strPathToCursor As String)
    Dim lngRet As Long

    lngRet = LoadCursorFromFile(strPathToCursor)
    lngRet = SetCursor(lngRet)
End Function
und im Formular, Button "bei Mausbewegung":
Code:
Private Sub Button_MouseMove(Button As Integer, Shift As Integer, _
                             X As Single, Y As Single)
    Call MouseCursor(IDC_HAND)
End Sub

_________________
MfG, Jörg Very Happy

Bitte das Feedback nicht vergessen.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: nur einmal anzeigen 4 bohne 674 21. Okt 2005, 16:22
bohne nur einmal anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Berechnung im Listenfeld anzeigen? 3 Schnoop 804 20. Okt 2005, 08:24
Timbo Berechnung im Listenfeld anzeigen?
Keine neuen Beiträge Access Tabellen & Abfragen: Abos die ablaufen Anzeigen lassen ? 1 reneschaub 477 04. Okt 2005, 18:56
jens05 Abos die ablaufen Anzeigen lassen ?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage in Formular anzeigen, und dann sortieren 1 christian_10 597 22. Aug 2005, 13:28
lothi Abfrage in Formular anzeigen, und dann sortieren
Keine neuen Beiträge Access Tabellen & Abfragen: Im Tabellenverknüpfung-Manager relativen Pfad? 0 gohauld 674 04. Jul 2005, 11:04
gohauld Im Tabellenverknüpfung-Manager relativen Pfad?
Keine neuen Beiträge Access Tabellen & Abfragen: gruppieren-beide texteintraege anzeigen 7 paty 1196 14. Jun 2005, 02:54
tobes gruppieren-beide texteintraege anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrageergebnis als neues Formular anzeigen 2 mila 3034 12. Apr 2005, 12:38
mila Abfrageergebnis als neues Formular anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: alle Kunden mit letzter Rechnung anzeigen 2 Dalmatinchen 1109 08. März 2005, 20:58
Dalmatinchen alle Kunden mit letzter Rechnung anzeigen
Keine neuen Beiträge Access Tabellen & Abfragen: Bilder in Tabelle speichern?? 4 doc77 1096 02. Feb 2005, 18:38
doc77 Bilder in Tabelle speichern??
Keine neuen Beiträge Access Tabellen & Abfragen: spalte dynamisch und in abhängigkeit vom wochtag füllen 3 doc77 812 10. Jan 2005, 13:32
lothi spalte dynamisch und in abhängigkeit vom wochtag füllen
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit sum, max Wert und verhätnis summe/max anzeigen? 1 IV 2531 04. Nov 2004, 18:14
Skogafoss Abfrage mit sum, max Wert und verhätnis summe/max anzeigen?
Keine neuen Beiträge Access Tabellen & Abfragen: eingefügte Bilder wieder als datei speichern ?! 2 icke 1210 22. Okt 2004, 07:19
Gast eingefügte Bilder wieder als datei speichern ?!
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Microsoft Excel Tricks