Access中的SQLite链接表仅在插入新值后才提供#已删除的值
在MS Access(Office 365)中,我使用(0.9996)链接到SQLite 3数据库中的表 问题 当我打开链接表时,它可以显示其内容,但在我向表中插入新条目后,它会在新条目的每个字段中显示Access中的SQLite链接表仅在插入新值后才提供#已删除的值,sqlite,ms-access,odbc,Sqlite,Ms Access,Odbc,在MS Access(Office 365)中,我使用(0.9996)链接到SQLite 3数据库中的表 问题 当我打开链接表时,它可以显示其内容,但在我向表中插入新条目后,它会在新条目的每个字段中显示#Deleted。关闭并重新打开表格将正确显示新条目。如何防止这种异常行为,以便在插入新条目后,它们可以正常显示,而无需关闭和重新打开表 复制步骤 在example.sqlite中创建下表 创建表示例( id整数主键, 样本类型文本 ); 使用SQLite ODBC驱动程序创建一个链接表,并尝试
#Deleted
。关闭并重新打开表格将正确显示新条目。如何防止这种异常行为,以便在插入新条目后,它们可以正常显示,而无需关闭和重新打开表
复制步骤
在example.sqlite
中创建下表
创建表示例(
id整数主键,
样本类型文本
);
使用SQLite ODBC驱动程序创建一个链接表,并尝试将值插入“sample_type”列。更改
文本列的类型,以使用诸如varchar(255)
之类的变量。例如,此架构不会生成#Deleted
值:
创建表示例(
id整数主键,
样本类型varchar(255)
);
发生此问题的原因是SQLite,而MS Access对于提前知道将插入到列中的确切数据类型非常严格。因此,ODBC驱动程序必须确定列的类型。如果您的模式使用ODBC数据类型,那么这种方法很有效,但是如果您使用非特定的列类型(如text
)创建列,ODBC驱动程序必须猜测该列应该是什么类型。不正确的猜测可能导致#删除了值