none
VBA fieldtype Hyperlink

    Frage

  • Hi everybody,

    I need help. After searching the net for hours I am very close to quit.

    My system: Win 7 prof - Access 2010

    Access: Visual Basic For Applications - Microsoft Access 14.0 ObjectLibrary - OLE Automation - Microsoft DAO 3.6 ObjectLibrary - Microsoft Visual Basic For Applications Extensibility 5.3

    My goal: I need hyperlinks in a PDF file created by a query. Now with Access 2010 it is possible with the integrated PDF converter but the source for the hyperlink has to be a table. So I created a adding query(?) which created a table from a query (query name: Abfrage1).

    All works perfect. And if I changed the fieldtype 'text' into 'hyperlink' (field name: LinkText) manual everything works fine.

    Now I want to do it by VBA. I learned after hours that a hyperlink is in real a memo field with the attribute hyperlink.

    But my code do not wants to run...

    My code:

                   

    Sub Umwandlung_Abfrage_Tabelle()
        Dim DB As DAO.Database
        Set DB = CurrentDb

        ' Löschen der alten Tabelle - Delete the old table
        DoCmd.DeleteObject acTable, "tabelle_Abfrage1"

        ' Abfragetaelle starten zum Erzeugen der neuen Tabelle - Creates the new table
        DoCmd.OpenQuery "Abfrage1"

        ' Typänderung erst Memo dann Hyperlink!!! - Cjange the type into MEMO
        DB.Execute "ALTER TABLE tabelle_Abfrage1 ALTER COLUMN LinkText MEMO"   -> do a great job!

        ' DB.TableDefs("tabelle_Abfrage1").Fields("LinkText").Type = dbMemo     -> Do not work!!
        DB.TableDefs("tabelle_Abfrage1").Fields("LinkText").Attributes = dbHyperlinkField     -> Do not work!!!
        ' Access error:  3219 Invalid Operation

    End Sub

    If I asked for content like: Test1 = db.TableDefs("tabelle_Abfrag1".Fie....  -> I got an answer for type..

    I have no idea what is going wrong...

    Every help would be fine.

    Thank you

    Regards

    Klaus

    Samstag, 15. September 2012 10:51

Antworten

  • Hallo Klaus,
     
    KD29 wrote:
     
    > Hi everybody,
     
    Zunaechst: du bist hier im dt. Forum. ;-)
     
    >     ' Typänderung erst Memo dann Hyperlink!!! - Cjange the type into MEMO
    >     DB.Execute "ALTER TABLE tabelle_Abfrage1 ALTER COLUMN LinkText MEMO"  
    > -> do a great job!
    >     ' DB.TableDefs("tabelle_Abfrage1").Fields("LinkText").Type = dbMemo     -> Do not
    > work!!
     
    Das wird nicht funktionieren. Nach dem Anlegen der Tabelle ist der Feldtyp
    readonly. Du muesstest die TableDef und alle Felder selbst aufbauen, dann
    kannst du auch die entsprechenden Attribute gleich richtig setzen.
     
    Hier bei Allen Browne gibt es ein schoenes Beispiel:
     
     
    Gruss - Peter
     
    --
     
    Samstag, 15. September 2012 11:47
    Moderator

Alle Antworten

  • Hallo Klaus,
     
    KD29 wrote:
     
    > Hi everybody,
     
    Zunaechst: du bist hier im dt. Forum. ;-)
     
    >     ' Typänderung erst Memo dann Hyperlink!!! - Cjange the type into MEMO
    >     DB.Execute "ALTER TABLE tabelle_Abfrage1 ALTER COLUMN LinkText MEMO"  
    > -> do a great job!
    >     ' DB.TableDefs("tabelle_Abfrage1").Fields("LinkText").Type = dbMemo     -> Do not
    > work!!
     
    Das wird nicht funktionieren. Nach dem Anlegen der Tabelle ist der Feldtyp
    readonly. Du muesstest die TableDef und alle Felder selbst aufbauen, dann
    kannst du auch die entsprechenden Attribute gleich richtig setzen.
     
    Hier bei Allen Browne gibt es ein schoenes Beispiel:
     
     
    Gruss - Peter
     
    --
     
    Samstag, 15. September 2012 11:47
    Moderator
  • Hallo Peter,

    vielen Dank für die schnelle Antwort.

    Da kann ich ja lange rumdoktern...

    Kann ich an die erzeugte Tabelle (da die Originalabfrage mächtig viele Felder hat) ein Feld anfügen und dann die Attribute noch ändern? Dann würde ich nur ein neues Feld erzeugen, daraus Hyperlink machen und die Daten hinein kopieren...

    Bin erst heute Abend wieder online.

    Gruß Klaus


    KD

    Samstag, 15. September 2012 12:01
  • Hallo Peter,

    habe den Link studiert - alle Antworten gefunden - ein bisschen probiert - und es hat funktioniert!

    Vielen vielen Dank!

    Da wäre ich allein nicht drauf gekommen.

    Schönes Wochenende

    Gruß Klaus


    KD

    Samstag, 15. September 2012 19:16