我正在使用DoCmd.RunSQL方法根据用户在表单中执行的操作来INSERT和DELETE记录.它工作正常,但在删除或附加记录之前要求确认.如何删除确认.
顺便说一下,BeforeDelConfirm事件似乎不能与DoCmd.RunSQL一起运行.
我有以下函数在我的查询中创建一个列:
MTD:IIf(IsError(FormatNumber([62xx]![F40])),0,FormatNumber([62xx]![F40]))
这链接到Excel文件,人们将数字和文本放在同一列中(本例中为F40).我需要知道我正在看的东西是数字还是文字.如果它是文本我想要一个零,如果它是一个数字我想要数字.我知道当我在文本行上使用FormatNumber([C107_62xx]![F40])时出现错误.我会假设当我得到一个错误,然后我的iif公式将其转换为零,世界将会高兴.出于某种原因,即使使用我的iif语句,我仍然会收到#error.我究竟做错了什么?
我也试过使用IsNumeric函数,但我仍然得到#NUM!通过的错误.
我编写了SQL语句(存储在文本文档中),将数据加载到SQL Server数据库中.这些陈述需要每天重复.一些语句使用该NewId()函数来填充数据库中的键控字段,这很好.当我正在编写应用程序来复制这些语句时,我想使用Access查询和宏而不是将查询复制并粘贴到SQL Server中,从而节省了我每天的时间.一切正常,但我找不到任何将取代SQL NewId()函数的函数.是存在还是有解决方法?我正在使用SQL Server 2005和Access 2007.
在Access 2003中,我需要在保持前导零的同时显示这样的数字:
我应该使用什么数据类型?
是否可以在access-2007中检测是否存在使用VBA的打开查询?
我正在打开这样的查询:
stDocName = "Meeting_Reasons_Frequency"
DoCmd.OpenQuery stDocName
Run Code Online (Sandbox Code Playgroud)
是否可以检测它是否开放?
我想知道如何从另一个数据库中的表中获取最近生成的自动编号值.目前我这样做:
Do Until rsA.EOF
'Inserts new row here (works)
Set rs = New ADODB.Recordset
rs.Open "SELECT @@Identity" (Connection info)
SQLcmd = "UPDATE tbl SET col = " & rs("SELECT @@Identity").Value & "
(WHERE statement);"
DoCmd.RunSQL SQLcmd
rsA.MoveNext
Loop
Run Code Online (Sandbox Code Playgroud)
但它给col的值为0而不是新生成的自动编号.知道为什么吗?或者另一种方法呢?
我有一张桌子上有"SEMESTER,SUBJECT,OFFER,RESULT",其中"SEMESTER"和"SUBJECT"是主要的.当我使用查询
"DELETE FROM Course_Information WHERE Semester = 1 AND Subject = 'CSE-414' ;
它在访问数据库中完美地工作,但是当我尝试在我的c#代码中使用它时,我总是会遇到异常.
此外,如果我使用"DELETE FROM Course_Information WHERE Semester = 1;
我想在WHERE条件下同时使用"SUBJECT"和"SEMESTER"(因为在同一学期可能会有不同的科目)
看我的代码,
connection_string = aConnection.return_connectionString(connection_string);
string sql_query = "DELETE FROM Course_Information WHERE Semester = " + this.textBox1.Text + " AND Subject = " + this.textBox2.Text + " ;";
OleDbConnection connect = new OleDbConnection(connection_string);
OleDbCommand command = new OleDbCommand(sql_query, connect);
try
{
connect.Open();
OleDbDataReader reader = command.ExecuteReader();
MessageBox.Show("Delete Successful!");
connect.Close();
UpdateDatabase();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Run Code Online (Sandbox Code Playgroud) 我有一个关于使用带有是/否字段的IIF语句的问题.在我的情况下,我试图让声明做一件事,如果是/否字段=是和另一个如果是"否" 我意识到Access将Yes/No字段存储为-1,0并试图以这种方式表达语句.
我做了这个陈述:
NetDonation: IIf([PickupRequired]-1,[DonationValue]-8.75, 0, [DonationValue])
Run Code Online (Sandbox Code Playgroud)
遗憾的是,此声明不区分PickupRequired字段为"No"或"Yes",并且无论PickupRequired字段=否,它都会从所有值中减去8.75.
MS Access 是否允许在不打开表单本身的情况下获取表单的记录源值?我现在正在尝试优化我的代码,我所做的只是隐藏表单然后获取 Recordsource 表单查询,但是加载需要时间,因为某些表单在加载时触发代码。
我正在将数据从一个数据模型迁移到另一个数据模型,这样做我需要将一些不同的Memo字段连接成一个,以防止任何数据丢失.
我对VBA不是很熟悉,但我知道使用Update查询会将我的备注字段限制为255个字符.
有人可以提供一些有关如何使用VBA解决这个问题的见解.
我想要实现的例子:
每条记录的注释将是连接3个备注字段的结果:[注释] = [备注1]和[备注2]和[备注3]