Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 将显示插入超链接字段的文本,但不作为链接_Python 2.7_Ms Access_Hyperlink_Ms Access 2003_Pyodbc - Fatal编程技术网

Python 2.7 将显示插入超链接字段的文本,但不作为链接

Python 2.7 将显示插入超链接字段的文本,但不作为链接,python-2.7,ms-access,hyperlink,ms-access-2003,pyodbc,Python 2.7,Ms Access,Hyperlink,Ms Access 2003,Pyodbc,我很难让插入的pyodbc超链接在Access 2003数据库中工作。它看起来像一个超链接,但单击时什么也不做。为了让它工作,我必须在Access中编辑它,只有这样它才会意识到,“哦,是的,那是一个超链接” Access中的超链接字段是一个文本字段,包含由散列标记(#)分隔的多个“部分”。MSDN文章中描述了这些不同的部分 如果我们想在一个超链接字段中插入一个空URL或文件路径,我们需要用散列标记将其括起来,例如 导入pyodbc 连接线=( r'DRIVER={Microsoft Access

我很难让插入的pyodbc超链接在Access 2003数据库中工作。它看起来像一个超链接,但单击时什么也不做。为了让它工作,我必须在Access中编辑它,只有这样它才会意识到,“哦,是的,那是一个超链接”


Access中的超链接字段是一个文本字段,包含由散列标记(
#
)分隔的多个“部分”。MSDN文章中描述了这些不同的部分

如果我们想在一个超链接字段中插入一个空URL或文件路径,我们需要用散列标记将其括起来,例如

导入pyodbc
连接线=(
r'DRIVER={Microsoft Access驱动程序(*.mdb)};'
r'DBQ=C:\Users\Public\a2003test.mdb;'
)
cnxn=pyodbc.connect(conn_str)
crsr=cnxn.cursor()
hyperlink=r'C:\Users\Gord\Desktop\foo.txt'
sql=“UPDATE Table1 SET docLink=?其中ID=1”
crsr.execute(sql,['#'+hyperlink+'#']
cnxn.commit()
crsr.close()
cnxn.close()

就目前情况而言,我真的不明白你在问什么。。。因此,它可能会被关闭。我想问的是,我是否可以在python代码中添加一些东西,以便access 2003能够识别它是一个超链接。为什么不将链接存储为文本?然后在表单界面中,将文本框控件用作超链接。否则,Jet/ACE SQL引擎中就没有这样的超链接数据类型。您需要运行VBA,特别是DAO字段属性。看这个。我不知道是否有用于访问VBA DAO对象的Python库。@Parfait“Jet/ACE SQL引擎中没有这样的超链接数据类型”-然后是什么?Gord,超链接不是。可能是与文本字段交互的Access UI功能。因此,此查询永远不会作为存储查询或VBA查询使用:
altertable1添加列docLink超链接您将收到“数据定义中的语法错误”。
import pyodbc

cnxn = pyodbc.connect("DRIVER={Microsoft Access Driver (*.mdb)};DBQ= C:\\Users\\multidata\\Documents\\db1.mdb;")

cur = cnxn.cursor()
#hyperlink is the text file. table1 is hyperlink column in ms access
cur.execute("INSERT INTO test(table1, table2) values ('C:\\Users\\multidata\\Desktop\\MC1\\7-31-14_711_EX_2153.txt ', 'y')")
cnxn.commit()
cnxn.close()