Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Hyperlinkadresse wird verändert bei Auswahlabfrage

Begonnen von mupfel, Juli 08, 2013, 10:41:50

⏪ vorheriges - nächstes ⏩

mupfel

Hallo zusammen,

habe für die Urlaubsvertretung eine kleine Accessanwendung gebastelt. Diese besteht aus einer Personaltabelle verknüpft mit einer Thementabelle. Diese enthält das Datum, den Personalbezug, die Themenbeschreibung und eine Hyperlinkspalte für Anhänge.

Das ganze funktioniert auch wunderbar bis auf die Ausleitung.

Hierzu habe ich eine Abfrage geschrieben, welche zuerst die Person abfrägt und anschließend das Protokollstartdatum (ab wann die Themen dargestellt werden sollen). Also eigentlich recht simpel.

Nur passiert durch die Abfrageprozedur nun das seltsame, dass zwar der Hyperlinktext (=Linkadresse) unverändert bleibt aber der dahinter abgelegte Hyperlink verkürzt wird, so dass dieser nicht mehr verwendbar ist.

Wie kann ich dies abstellen. Hat jemand von euch eine Idee. Wäre super.

Gruß Mupfel

DF6GL

Hallo,

erklär mal genauer, was Du mit "abgelegte Hyperlink verkürzt wird"   meinst und wo der Hyperlink nicht mehr verwendbar ist.

Sinnvoll wäre vielleicht ein Screenshot der einzelnen Fenster...

mupfel

Hallo,

mit Hyperlink meine ich, dass ich in der Tabelle eine Spalte mit dem Feldtyp "Hyperlink" angelegt habe.

Im Formular angewendet kann man in diesem Feld einen Link auf eine Datei auf einem Laufwerk ablegen. Da die Dateien meinst immer auf Netzlaufwerken liegen und die Ordnerpfade administrativ recht lang sein können, entstehen dadurch recht lange Hyperlinkadressen. Diese funktionieren trotzdem jedoch einwandfrei - ruft man die Thementabelle selbst auf.

Durchlaufen die Daten der Thementabelle jedoch eine Auswahlabfrage, werden die Hyperlinkadressen abgeschnitten - heißt vom Ende der Hyperlinkadresse werden x Buchstaben einfach gelöscht.

Kann es sein, dass Access nur eine bestimmte Hyperlinklänge intern zulässt und den REst einfach abschneidet? Kann man das ändern?

Danke und Gruß.

DF6GL

#3
Hallo,

m.W. ist die max. Feldfröße eines Hyperlink-Feldes 255 Zeichen. 
<Edit>  Korrektur:   64000 Zeichen  </Edit>

Ein Hyperlink besteht aber als solcher aus mehr als der angezeigten Textzeichen..

Wie lang ist denn ein solcher Hyperlink-Text?

Vorschlag:  Wirf die Hyperlinkfelder überall heraus, bzw. ändere sie zu Datentyp "Text" und passe die Daten entspr. an.  Mit folgendem Code kann dann die "Hyperlink-Funktion"  simuliert werden (bei Datei-Verweisen):


Sub MeinHyperlink_Click()
Followhyperlink "file://" & Me!MeinHyperlink
End Sub

mupfel

Hallo,

also die 255 Zeichengrenze überschreite ich nicht einmal. habe mal zwei links exemplarisch angesehen:
Eigentliche Soll-Linklänge      veränderte Linklänge
174                                              78
161                                              91

Also eine Systematik kann ich da nicht erkennen....

DF6GL

Hallo,


kann Dein Problem nicht nachvollziehen.. Ein Tabellen-Hypertextfeld kann sogar mehr als 255 Zeichen aufnehmen (bei meinem Test 280) und in einer Auswahlabfrage wird nichts abgeschnitten (A2003)

WO siehst Du denn, dass die Zeichen abgeschnitten sind?

mupfel

Wenn ich einen Hyperlink innerhalb des Formulars erzeuge, ziehe ich mit Drap&Drop einfach die Datei in das vorgesehene Hyperlinkfeld. Dadurch generiert Access automatisch den Hyperlink: zum einen wird als Text die Hyperlinkadresse dargestellt und zum anderen dem Text der Link hinterlegt.
Link und Text stimmen innerhalb der Tabelle überein --> keine Veränderung und somit funktioniert alles
Link und Text stimmen innerhalb der Auswahltabelle NICHT mehr überein --> Access muss, aus welchen Gründen  ???, den Link während der SQL-Anweisung bearbeiten

DF6GL

Hallo,


mit "Auswahltabelle" meinst Du sicher  die "AuswahlAbfrage" ..


Lt. Spezifikation kann ein Hyperlinkfeld bis zu 64000 Zeichen aufnehmen.

Bei meiner nachgestellten Situation habe ich wie gesagt kein solches Abschneiden  festgestellt.


Poste mal den SQL-String der Abfrage..  Wenn diese Abfrage gruppiert, wird ein Feld auf max. 255 Zeichen begrenzt.  Vielleicht liegt es daran.


mupfel

Hallo, Hier das skript:

SELECT [tb-hist-urlaubsvertretung].Datum, [tb-hist-urlaubsvertretung].Memo, [tb-hist-urlaubsvertretung].Link, [tb-person].Nachname
FROM [tb-person] INNER JOIN [tb-hist-urlaubsvertretung] ON [tb-person].[Person-ID] = [tb-hist-urlaubsvertretung].[Vertretung für]
WHERE ((([tb-person].Nachname)=[Vertretung für wen?]) AND (([tb-hist-urlaubsvertretung].Datum)>[Startdatum:]))
GROUP BY [tb-hist-urlaubsvertretung].Datum, [tb-hist-urlaubsvertretung].Memo, [tb-hist-urlaubsvertretung].Link, [tb-person].Nachname
ORDER BY [tb-hist-urlaubsvertretung].Datum;

DF6GL

ZitatWenn diese Abfrage gruppiert, wird ein Feld auf max. 255 Zeichen begrenzt.  Vielleicht liegt es daran.

mupfel

Hallo,
ja es wird gruppiert. Allerdings sind die Links kürzer als 255 Zeichen und werden trotzdem gekürzt - habe ich oben ja schon mal aufgeführt

???? was macht Access da???

DF6GL

Hallo,

naja, was macht Access da ...    Es schneidet das Feld ab...   


Bist Du sicher , dass der Feldinhalt wirklich weniger als 255 Zeichen ist?

Eigenes
Zitat
Ein Hyperlink besteht aber als solcher aus mehr als den angezeigten Textzeichen..

mupfel


DF6GL

Hallo,

ja, und das glaube ich nicht....


Erstell mal die folgenden Abfrage  (SQL im Abfrageentwurf unter "SQL-Ansicht" einkopieren) :

Select * ,  Len([Link]) as AnzahlZeichen  from [tb-hist-urlaubsvertretung]


Ansosnten kann Du auch eine Kopie der TAbelle herstellen ,  dort das Hyperlinkfeld in den Datentyp TEXT ändern und dann die Feldinhalte ansehen....

mupfel

Ok, kann gern die sql - anweisung mal einbinden.

Die bisher ermittelten Zeichenanzahlen (mehr als 100) aber ich natürlich auch nicht per Auge gezählt sondern die Tabelle in Word exportieren lassen und die Zeichen in der jeweilegen Zelle zählen lassen.

Bis dann