PDA

Vollständige Version anzeigen : Automatisch generierte Hyperlinks funktionieren nicht


LastOne
10.07.2006, 09:24
Hallo zusammen,

ich hoffe hier kann mir jemand helfen. Hab schon ne ganze zeit gegoogelt, aber nix gefunden.

Ich hab eine Tabelle mit mehrerern Spalten und ca 5000 Zeilen. Nun ist es so das zu jeder Zeile ein PDF verlinkt werden soll, dies aber automatisch geschehen soll. Daher haben wir nun eine Abfrage die wie folgt ausschaut:

"T:\VAB\Artikel-Nr\" & Links([Vorhandene Zeichnungen]![Artikel-Nr SAP];2) & " " & Teil([Vorhandene Zeichnungen]![Artikel-Nr SAP];3;2) & " " & Teil([Vorhandene Zeichnungen]![Artikel-Nr SAP];5;3) & "\" & Links([Vorhandene Zeichnungen]![Artikel-Nr SAP];11) & ".pdf"

in der spalte Artikel-Nr SAP steht dann zb 2222333444411

Daraus folgt dann in der Spalte wo der link entstehen soll: T:\VAB\Artikel-Nr\22 22 333\22223334444.pdf ..... wird auch als Link dargestellt, funktioniert aber nicht. Änder ich die Spalte dann manuell von Hyperlink zu Text und wieder zurück funktionieren die Links..... woran liegt das? Ich hoff hier kann uns wer helfen, ich weiß nicht mehr weiter, hab aber auch gerad erst mit Access angefangen. Also wenns sonst ne alternative gibt immer raus damit.... :) Und bitte für Anfänger erklären :grins:

J_Eilers
10.07.2006, 09:34
Hi,

wenn die Daten in einem Formular arbeiten, verwende ein Textfeld und FollowHyperlink oder ShellExecute.

LastOne
10.07.2006, 09:58
Ich steh gerad etwas auf dem Schlauch.... hab das bisher alles im Excel gemacht.... kannst du das etwas ausfürlicher erklären?

J_Eilers
10.07.2006, 11:00
Falls du in einem Formular arbeitest, kannst du dort zB beim Klicken einfach folgenden Code hinterlegen:

Application.FollowHyperlink Me!Feld

LastOne
10.07.2006, 12:19
Hmm.... also einmal is das in na Abfrage (Die hab ich als "Suchfunktion" genutzt) da wird dann die Tablle ja angezeigt bzw das Ergebniss als Tabellenauszug

J_Eilers
10.07.2006, 12:28
In einer Abfrage gibt es kein VBA...und Tabellen/Abfrageansichten sind für User tabu!

LastOne
10.07.2006, 12:41
Wie realisiere ich denn dann eine Suche in einer Tabelle mit anschließender Ausgabe?

J_Eilers
10.07.2006, 12:45
In einem Formular? Wie stellst du dir deine Suche denn vor?

Frechdax
10.07.2006, 13:18
Erstelle jetzt einfach ein neues Formular (am Besten ersteinmal mit dem Assistenten), wo du als Datenherkunft deine Abfrage auswählst.

Wähle nun bei dem Textfeld (wo dein Pfad drin steht) das Ereignis "Beim Klicken" aus und schreibe die oben breits erwähnte Zeile: Application.FollowHyperlink Me!NameDesFeldes

Lg Mareike

LastOne
10.07.2006, 13:22
Ok, das beste wird sein ich umreiss mal kurz das Ziel (und den Sinn)

Derzeit haben wir eine Excel Liste mit 10 Spalten und 5000 Zeilen. Dort sind alle Infos zu unseren Zeichnungen hinterlegt, Artikel Nr, wann gezeihnet, Bezeichnung und und und.

Ziel ist nun das in eine Access Datenbank zu bringen. Dort soll: gesucht werden nach Zeichnungen (anhand der Atikel-Nr oder einem Teil davon) und auch neue eingetagen werden. Also ein Formular was ausgefüllt werden soll. Das hab ich mir schon angelegt alles nur das probolem beim Formular ist beim schließen wird gespeichert, ohne Rückfragen. Hillfffeeeee :(

Frechdax
10.07.2006, 13:28
www.donkarl.com
4.32 Rückfrage vor dem Speichern

Was hat das denn mit der Hyperlink-Problematik zu tun?!

LastOne
10.07.2006, 13:41
@Frechdax

Danke, hat soweit geklappt. Wie kann ich nun noch verhindern das in dem Formular-Ergebniss was ausgegeben wird was verändert werden kann bzw das ne Speicherabfrage kommt?

LastOne
10.07.2006, 13:44
sry wiederdoppel post...: hab gerad nen paar probs vermischt, bin hier ziemlich durch den wind weil das alles net so klappt :-/ ......hatte gehofft das geht alles flüssiger von der hand :-(

Frechdax
10.07.2006, 14:13
Was möchtest du?

"... Wie kann ich nun noch verhindern das in dem Formular-Ergebniss was ausgegeben wird was verändert werden kann bzw das ne Speicherabfrage kommt?"

Heißt das, dass du schon existierende Datensätze nicht angezeigt haben möchtest? Oder hast du ein Anzeigeformular, indem alle Daten nicht änderbar sein sollen? ...

LastOne
10.07.2006, 14:16
ich hab nen such und anzeigeformular, indem nichts geändert werden soll oder halt die von dir verlinkte speicherabfrage. nur wo genau muß ich den code hinkopieren?

Frechdax
10.07.2006, 14:22
1. Wenn der Inhalt der Felder nicht verändert werden soll, kannst du für jedes Textfeld im Eigenschaftsfenster unter Daten/Gesperrt ja einstellen.
2. Der Code der Speicherabfrage kommt ins Ereignis "vor Aktualiserung" des Formulars. Um an die Eigenschaften des Formulars zu kommen, musst du im Formular in die linke ober Ecke (zw. den "Linealen") klicken.

LastOne
10.07.2006, 14:40
Danke, das hat geklappt! nun sieht das alles schon nicht schlecht aus, jetzt müßt ich noch die Hyperlinks hinbekommen

Frechdax
10.07.2006, 14:46
Einfach in das Feld klicken wo die Hyperlinks angezeigt werden! Dann beim Ereignis "Beim Klicken" den oben beschriebenen Code Application.FollowHyperlink ... verwenden.

LastOne
10.07.2006, 14:58
Hab nun mehrers versucht... das muß als Code rein richtig? In diesen Sub?
---
Private Sub Detailbereich_Click()

End Sub
---
in die klammern? dahinter? davor?

newbie braucht hilfe! :)

Aber tausend dank für eure Hilfe mit dem Speichern, das is echt super!!!!

Frechdax
10.07.2006, 15:15
Nee, nicht ganz. (Du bist im falschen "Bereich".)

1. Klicke dein Textfeld an in dem der Hyperlink angezeigt wird.
2. Gehe ins Eigenschaftsfenster/Ereignis/beim Klicken und dann den Code dazw. reinschreiben.

Private Sub DeinTextfeld_Click()
Application.FollowHyperlink Me!DeinTextfeld
End Sub

LastOne
11.07.2006, 06:41
"Sie haben als Einstellung der Ereigniseigenschaft den Ausdruck Beim Klicken eingegeben. Dieser Ausdruck hat einen Fehler verursacht: Außerhalb einer Prozedur ungültig."

Hab jetzt bereits verschiedene Varianten probiert, funktioniert aber leider nicht.... :(

J_Eilers
11.07.2006, 06:52
Der Code steht jetzt aber nicht direkt im Eigenschaftenfenster? Ansonsten lade mal bitte eine Miniversion deiner Datenbank hoch.

Frechdax
11.07.2006, 06:53
Zeig` doch mal deinen Code.

LastOne
11.07.2006, 07:01
Jetzt funktinoierts.... hab nochmal rausgelöscht und neu gesetzt, dann oben noch nen scheinbar leeres sub gelöscht. Jetzt sieht der Code so aus:
-----
Option Compare Database

Private Sub Form_BeforeUpdate(Cancel As Integer)
Select Case MsgBox("Änderungen speichern?", vbYesNoCancel, _
"Speicherabfrage")
Case vbCancel
Cancel% = True
Case vbNo
Me.Undo
End Select
End Sub

Private Sub Text39_Click()
Application.FollowHyperlink Me!Text39
End Sub
----

Wofür ist die option Zeile oben? Die hab ich mal drin gelassen.

Ein Problem hab ich nun noch: Er öffnet mein PDF im Acrobat Reader, dieses aber im Hintergrund. Kann man ihm nun noch sagen das das Fenster dann auch fokusiert werden soll oder so?

LastOne
11.07.2006, 07:06
Ok, hab das ganze mal kurz auf nen button übertragen, da gehts und das PDF kommt in den Vordergrund.... is vielleicht sogar noch schöner! Werd einfach die Lösung nehmen.

Ich dank euch noch mal vielmals für eure geduldige Hilfe!! :) :)

Darf ich noch etwas Fragen? :o

Ich habe ein Formula um neue Daten einzutragen. Nun muß man dort immer mit dem Pfeil mit dem Sternchen daneben auf den letzten leeren Platz springen. Gibts ne möglichkeit zu verhindern das die anderen Datensätze überhaupt angezeigt werden?

J_Eilers
11.07.2006, 07:13
Die Option Compare Database-Anweisung kann nur in Microsoft Access verwendet werden. Mit ihr können Zeichenfolgenvergleiche basierend auf der Sortierreihenfolge durchgeführt werden, die durch die Gebiets-ID der Datenbank bestimmt wird, in der die Zeichenfolgenvergleiche durchgeführt werden.

Man kann sogar einfach Befehle markieren und F1 drücken, da poppt dann so eine Hilfe auf ;)

Stelle mal Daten eingeben auf Ja in dem Formular.

LastOne
11.07.2006, 07:35
ups.... die f1 taste.... www.brettvormkopf.de .... allerdings hab ich die erklärung gerad trotzdem nicht verstanden.

aber das mit der daten eingabe hat geklappt. danke noch mal! Jetzt muß ich nur noch schauen wie ich die datenbank "sicherer" mache, damit jetzt nich jeder in die entwurfsansicht kann und so. aber da hab ich schon mal wo was gesehen, schauen ob ich das hinbekomme

LastOne
11.07.2006, 13:07
So, einmal bräuchte ich noch eure Hilfe.....

Ich würde gern das die Menüleisten, das Datenbankfenster und so ausgeblendet werden beim Öffnen der mdb. Über Extras/Start geht das zwar, aber unter Access 2000 macht das Probleme bei der "speichern abfrage" ....

Nun hab ich rausgefunden das das auch per autoexec geht.... hab nun sich threads und auch google seiten durch, nur leider hab ichs nicht hinbekommen. Ich brauch nen Makro "autoexec" und was GENAU muss da drin stehen? jetzt als bsp um das datenbankfenster auszublenden. Ich brauch noch ein Modul ja? und wie führ ich das mit dem makro aus bzw was muss exakt im modul stehen?

J_Eilers
11.07.2006, 13:14
Welche Speichern-Abfrage? Eigentlich sollte eine Anwendung so dicht sein, dass der User nur noch eigene Meldungen bekommt und dann reichen die Starteinstellungen dafür auch aus. Hast du einen Link für mich?

LastOne
11.07.2006, 13:21
----
Private Sub Form_BeforeUpdate(Cancel As Integer)
Select Case MsgBox("Änderungen speichern?", vbYesNoCancel, _
"Speicherabfrage")
Case vbCancel
Cancel% = True
Case vbNo
Me.Undo
End Select
End Sub
----

Diese. Wenn ich die "Start" einstellungen in 2003 nutze funzt alles und er fragt weiter nach speichern. Öffne ich die mdb unter 2000 und ändere etwas, blättere dann weiter oder so müßte ebenso die abfrage kommen, aber dann stürzt access ab.

J_Eilers
11.07.2006, 13:39
Also bei mir heißt es auch Cancel = True. Aber ich glaube nicht, dass das was mit den Starteinstellungen zu tun hat.

Anne Berg
11.07.2006, 13:47
Die Abfrage kommt also auch? Und bei welcher Antwort stürzt Access ab?

- nimm mal das %-Zeichen weg
- versuche mal DoCmd.RunCommand acCmdUndo

LastOne
11.07.2006, 14:18
nein, die abfrage kommt nicht. in dem moment wo sie kommen solllte passiert der absturz.

hab das % weg genommen. nur in einem formular. fragt mich nicht warum, wenn ich das unter extra/start einstelle gehts nun.... das heißt wohl ich hab 2h umsonst gesucht? warum is der fehler plötzlich in ALLE formularen weg?!