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
Ms access 将字段定义为查询中的参数_Ms Access - Fatal编程技术网

Ms access 将字段定义为查询中的参数

Ms access 将字段定义为查询中的参数,ms-access,Ms Access,表(1)中有一个字段,可以用另一个表(2)中的两个不同字段填充。这两个表都通过主键链接。如何创建一个使用参数定义更新时将使用哪个字段的更新查询?我认为您无法在MS Access中直接执行此操作。如果使用VBA代码,您可以模拟这种行为,但我最好(可能不完全)的理解是,您将无法使用参数引用数据库对象 使用VBA(或任何其他客户机代码),您可以设置一个方法,该方法接受一个方法参数,该参数确定要更新的列,然后从中汇编适当的SQL语句 我认为您无法在MS Access中直接执行此操作。如果使用VBA代码,

表(1)中有一个字段,可以用另一个表(2)中的两个不同字段填充。这两个表都通过主键链接。如何创建一个使用参数定义更新时将使用哪个字段的更新查询?

我认为您无法在MS Access中直接执行此操作。如果使用VBA代码,您可以模拟这种行为,但我最好(可能不完全)的理解是,您将无法使用参数引用数据库对象


使用VBA(或任何其他客户机代码),您可以设置一个方法,该方法接受一个方法参数,该参数确定要更新的列,然后从中汇编适当的SQL语句

我认为您无法在MS Access中直接执行此操作。如果使用VBA代码,您可以模拟这种行为,但我最好(可能不完全)的理解是,您将无法使用参数引用数据库对象


使用VBA(或任何其他客户机代码),您可以设置一个方法,该方法接受一个方法参数,该参数确定要更新的列,然后从中汇编适当的SQL语句

在本例中,tblSource有两个日期字段,date1和date2。与Switch()函数一起使用的参数WhichDate用于确定这两个字段中的哪一个用于更新tblTarget中指定的日期

PARAMETERS WhichDate Long;
UPDATE tblTarget AS t INNER JOIN tblSource AS s ON t.id = s.id
SET t.date_assigned = Switch(WhichDate=1,date1,WhichDate=2,date2);

在本例中,tblSource有两个日期字段:date1和date2。与Switch()函数一起使用的参数WhichDate用于确定这两个字段中的哪一个用于更新tblTarget中指定的日期

PARAMETERS WhichDate Long;
UPDATE tblTarget AS t INNER JOIN tblSource AS s ON t.id = s.id
SET t.date_assigned = Switch(WhichDate=1,date1,WhichDate=2,date2);

这在MS Access中有效?!!我将是一个惊喜和快乐的露营者。也许他们在2010年版本中添加了这个?我现在就去看看这个@我用Access 2003测试的解决方案。我不喜欢Switch()或Choose(),因为这两种方法都倾向于将数据存储在SQL语句中——数据属于表,而不属于SQL。这在MS Access中有效?!!我将是一个惊喜和快乐的露营者。也许他们在2010年版本中添加了这个?我现在就去看看这个@我用Access 2003测试了这些解决方案。我不喜欢Switch()或Choose(),因为它们都倾向于将数据存储在SQL语句中——数据属于表,而不属于SQL语句。