所以有几个愚蠢的问题:
如果我在某些情况下包括这个:
MsgBox " ", vbOkOnly, "This little message box"
Run Code Online (Sandbox Code Playgroud)
我可以用更多的代码转过来然后'点击确定按钮.那么基本上消息boox会自动弹出,然后自动消失?
我知道它很愚蠢,因为你想知道,为什么你想要消息框然后......
以及a)我只是想知道你是否能做到这一点,以及命令是什么
b)我有一些在消息框出现时可见的基本形状(形状对象).但是,如果没有消息框,则在等待单击按钮时不会暂时中断代码,因此可见的漂亮图像对象会在窗体上生效.
所以我真的不需要消息框,只需要显示对象的临时中断.
谢谢!
我对我试图运行的一些SQL感到困惑.这是一个示例数据集
Username ID Text1
red55 1235342 fdfdf
black 5542121 sdsd
red32 5542145 sffrds
green 5542911
bluee 5333121 ffds
Run Code Online (Sandbox Code Playgroud)
所以SQL就是
SELECT username, ID, Text1
FROM user_info
WHERE username NOT LIKE 'red*'
AND text1 NOT LIKE 'sd*';
Run Code Online (Sandbox Code Playgroud)
所以我希望看到一个结果集
Username ID Text1
green 5542911
bluee 5333121 ffds
Run Code Online (Sandbox Code Playgroud)
但它不起作用.它似乎忽略了空白值.我只会看到一条记录(不像上面的两条记录).我需要我的SQL简单地说给我看一些不开始"红色"的记录以及任何不以"sd"开头的记录.然而它要么全部摆脱它们而且空白,或者如果我使用OR语句,那就完全没有了.
有任何想法吗?我被困在这里!
这是从课程.他们创建一个字段,然后在最终结果中有一列在该列附近有加号.有人可以解释一下加号的那个栏是什么意思吗?为什么我不能创造它?即如何创建它?
在处理不同的Access版本(2002,2003和2007)时,我注意到具有filename.accdb的给定访问文件的文件大小远大于具有*.mdb文件类型的相同文件大小.
我通过另存为Access 2000-2003 batabase的方式将文件从2007(.acccdb)转换为2003( .mdb).
有人解释原因吗?
另一个问题是,对于强大的数据库而言,首选的选项*.mdb或*.accdb文件类型是什么?对于存储的数据是安全的,因为每天都有数据存储,因此知道这两种文件类型日复一日都在变大.
提前致谢
mhegazy
下面是我的代码,我不能为我的生活解决查询有什么问题.
我最初有错误"没有给出一个或多个参数的值",这似乎已经消失了(虽然我甚至不知道为什么我得到它).
在此代码之前打开连接.参数GVars.thisFY是一个字符串="FY13" - 这个表肯定存在.参数GVars.currentDate是DateTime = today.
此[Destination]和[Next Collection]范围肯定存在记录:
string sql;
OleDbDataAdapter adapter;
sql = "SELECT * FROM @CurFY WHERE [Destination] = @Destination AND [Next Collection] BETWEEN @NextCollectionA AND @NextCollectionB;";
// Create the command object
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = sql;
// Add values to the fields
cmd.Parameters.AddWithValue("@CurFY", GVars.thisFY);
cmd.Parameters.AddWithValue("@Destination", "Henwood");
cmd.Parameters.AddWithValue("@NextCollectionA", GVars.currentDate);
cmd.Parameters.AddWithValue("@NextCollectionB", GVars.currentDate.AddDays(1));
adapter = new OleDbDataAdapter(cmd.CommandText, conn);
try
{
adapter.Fill(ds);
GVars.bLblLastUpdate = DateTime.Now.ToString("HH:mm:ss");
}
catch (Exception ex)
{
}
Run Code Online (Sandbox Code Playgroud)
编辑:我已经更改了代码以删除表参数,如下所示,仍然得到"没有给出一个或多个参数的值",虽然我无法确定..
编辑2:我删除了额外的东西,所以帖子只涉及原始问题,已被回答.我会为我奇怪的"没有给定值"错误提出一个新问题
作为一个新手vba-sql
,我试图使用for循环填充表,vba
并Docmd.runsql
填充表.代码工作正常,但表中的值为:12/30/1899所有记录.我使用了一个消息框来检查并dt
正常工作.它给了我循环中的日期并移动到下一个,但在表中它只给了我一个日期:12/30/1899.
Function dateTblUpdate()
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE FROM [date-table]"
Dim dt As Date
For dt = #1/1/2010# To DateSerial(Year(Now), Month(Now), Day(Now))
'MsgBox DateSerial(Year(Now), Month(Now), Day(Now))
'MsgBox dt
DoCmd.RunSQL "Insert into [date-table] (the_date) values(" & dt & ")"
Next
DoCmd.SetWarnings True
End Function
Run Code Online (Sandbox Code Playgroud)
the_date
----------
12/30/1899
12/30/1899
12/30/1899
12/30/1899
12/30/1899
12/30/1899
Run Code Online (Sandbox Code Playgroud)
但预期结果:
the_date
------------
01/01/2010
01/02/2010
01/03/2010
01/04/2010
Run Code Online (Sandbox Code Playgroud)
我的日期列是日期类型,我相信sql认为dt不是日期所以它不保存它并保存默认日期....任何想法?
所以我一直在为不同的部门工作(大约8个)多个不同的MS Access应用程序.看起来似乎会在工作中站起来使用SQL Server,这从容量/集成的角度来看是有意义的.
Soooo ......我有使用Access,SQL和VBA的经验,但从未在SQL Server容量中使用任何它,是否有任何学习资源,书籍,网站等我可以从哪里开始?你可以"面对板块"(是的,我认为这是我的术语,可能听起来很荒谬)访问SQL Server应用程序上的应用程序,以便我可以继续开发,利用并让最终用户通过这些访问应用程序使用SQL Server?
谢谢
好的,所以我在未绑定的表单上添加所有这些文本框,每次打开表单时,它都会跳转到第一个文本框,以便您可以在其中输入一些信息.
我如何摆脱它,因为我不希望它在表单打开时自动跳转到第一个文本框...我不希望它在表单打开时跳转到任何文本框.
谢谢
我正在使用MS Access 2003,我正在尝试使用VB一次执行一些查询.当我在SQL中写出查询时,它工作正常,但是当我尝试在VB中执行它时,它要求我为DEPA"输入参数值",然后是DND(这是我拥有的两个字符串的前几个字母).这是代码:
Option Compare Database
Public Sub RemoveDupelicateDepartments()
Dim oldID As String
Dim newID As String
Dim sqlStatement As String
oldID = "DND-01"
newID = "DEPA-04"
sqlStatement = "UPDATE [Clean student table] SET [HomeDepartment]=" & newID & " WHERE [HomeDepartment]=" & oldID & ";"
DoCmd.RunSQL sqlStatement & ""
End Sub
Run Code Online (Sandbox Code Playgroud)
它看起来好像它正在接受字符串 - 然后没有别的.我不知道,这就是为什么我要问哈哈.我的代码应该是什么样的?
我需要将大量链接表复制到另一个mdb,但我希望它们保留链接而不是数据副本.
我可以拖放我的两个打开的mdb之间的表链接 - 但是复制数据.
我还考虑过编写几个类似的VBA函数
Set db = CurrentDb
db.TableDefs.Refresh
For Each myTable In db.TableDefs
If Len(myTable.Connect) > 0 Then
'' export myTable.Name and myTable.Connect to a flat file (or table)
End If
Next
Run Code Online (Sandbox Code Playgroud)
和
Set db = CurrentDb
db.TableDefs.Refresh
For Each ''row in flat file
Set tdf = db.CreateTableDef([myTable.Name])
tdf.Connect = [myTable.Connect]
db.TableDefs.append tdf
Next
Run Code Online (Sandbox Code Playgroud)
在我这样做之前,有没有一种我错过的更简单的方法?
ms-access-2003 ×10
ms-access ×9
sql ×5
vba ×5
access-vba ×2
c# ×1
forms ×1
messagebox ×1
sql-server ×1
textbox ×1