小编Fio*_*ala的帖子

在Sql中使用MS Access的数学函数

我使用MS Access在SQL View中设计了一个查询:

select floor(num1) from t1;
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到"未定义的功能层".

我得到类似的错误了Ceil,Mod,Power,Sign,Sqrt,Trunc,和initcap功能.

Access数据库引擎的SQL语法是否具有相同的功能?

sql ms-access ms-access-2007 ms-jet-ace

2
推荐指数
1
解决办法
1万
查看次数

如何在C#中使用密码打开访问数据库?

如何在c#中使用密码打开MS Access 2007数据库?

我试过这个: Conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\BioDB.mdb ;Password=1966;");

但它不起作用.

c# ms-access connection-string ms-access-2007

2
推荐指数
1
解决办法
2万
查看次数

如何在访问表中的文本字段前添加零

我有一个带有文本字段的访问表.它具有字母数字值.但我希望所有值都至少为3位数.所以我想在所有单个或两个数字值前添加零

.

5  must become 005
89 must become 089
Run Code Online (Sandbox Code Playgroud)

如何编写查询以更新表中的所有值.

谢谢tksy

sql ms-access

2
推荐指数
1
解决办法
2万
查看次数

可以从控件中删除焦点以在VBA中修改其属性吗?

首先,我通过这样做删除控件可见性:

For Each ctl In Me.MySubform.Controls
    ctl.Visible = False
Next ctl
Run Code Online (Sandbox Code Playgroud)

然后,我返回并使用标题和控件源名称数组绑定我将用于当前字段列表的控件.

For i = 0 To UBound(MyArray) Step 2
    Me.MySubform.Controls(i).ControlSource = MyArray(i)
    Me.MySubform.Controls(i + 1).Caption = MyArray(i + 1)
    Me.MySubform.Controls(i).Visible = True
    Me.MySubform.Controls(i + 1).Visible = True
Next i
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,如果用户点击其中一个字段为其提供焦点,我似乎将控件visible属性设置为false或在下一个刷新事件期间将字段重新绑定到另一个字段.

我认为通过删除控件焦点,我将能够实现这一点; 但是,我有两个问题.

  1. 这在VBA(MS Access 2003)中是否可行?如果是这样的话?
  2. 在这种环境中有没有更好的理想方法来实现这一目标?如果是这样,可以选择哪些选项以及选择解决方案需要考虑哪些因素?

谢谢,

arrays data-binding ms-access access-vba

2
推荐指数
1
解决办法
3154
查看次数

从Excel 2007查询SQL并返回多个值

我正在尝试获取少量数据,Excel中的大约200个字段以及来自SQL的retreive数据以及每个项目的where子句中的该字段.

TABLE:

ID  Name    Phone
1   Test1   1234
2   Test2   1235
3   Test3   1236


Excel:
Date   ID
2/1/11 1
2/1/11 2
2/1/11 3
Run Code Online (Sandbox Code Playgroud)

我希望能够在excel中检索(希望无需编写任何额外的代码本身 - 可能只是一个简单的Excel ODBC或带有查询的SQL连接.所以我的数据最终将在Excel文档中结束:

Excel:
Date   ID  Name    Phone 
2/1/11 1   Test1   1234
2/1/11 2   Test2   1235
2/1/11 3   Test3   1236
Run Code Online (Sandbox Code Playgroud)

我不确定我是否能够清楚地解释自己......

我正在使用Excel 2007,我也有2010年在某处.SQL是SQL Server 2000.

谢谢!

sql excel-2007 database-connectivity

2
推荐指数
1
解决办法
2290
查看次数

访问:移至下一条记录,直到EOF

我需要通过移动到记录集中的下一条记录来遍历表单.

我正在使用Form_Current事件来循环.我使用了几个陈述并且有不同的结果.

这个有时崩溃并给出错误消息:"你不能去指定的记录."

DoCmd.GoToRecord , , acNext
Run Code Online (Sandbox Code Playgroud)

这个只有72个记录并停止.

DoCmd.RunCommand acCmdRecordsGoToNext
Run Code Online (Sandbox Code Playgroud)

这个只有129个记录并停止.

Me.Recordset.MoveNext
Run Code Online (Sandbox Code Playgroud)

尝试查找将转到下一条记录的指令,直到它到达文件结尾.我使用Access 2010(Access 2002 -2003文件格式mdb)作为前端.记录源是SQL Server 2008链接的视图.

ms-access vba

2
推荐指数
1
解决办法
10万
查看次数

VBA抛出'else without if'错误

我正在尝试以下代码,并反复抛出'else if if'和类似的错误.我只是无法弄清楚错误在哪里,因为每个if都被正确终止了.

这是代码:

Sub hra_macro()

Dim city As Boolean
Dim salary As Integer
Dim varHRA As Integer
Dim mimHRA As Integer
Dim maxHRA As Integer
Dim A As Integer
Dim B As Integer
Dim Rent As Integer

city = Range("b1").Value
salary = Range("b2").Value
Rent = Range("b3").Value

If city = True Then

varHRA = 0

    A = Rent - (salary / 10)
    B = salary * 0.5
    Do While varHRA < salary
        varHRA = varHRA + 1
            If (varHRA < …
Run Code Online (Sandbox Code Playgroud)

excel vba if-statement

2
推荐指数
1
解决办法
2719
查看次数

Sql语句在Access中工作但不是从C#运行时

该声明:

SELECT [ToWhom] FROM [myChecks] WHERE [ToWhom] like '*e*' 
Run Code Online (Sandbox Code Playgroud)

在Access中工作得很好但是当我从C#运行它时,我回来并清空数据集.这是代码:

string connectionstring = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Checkbook.accdb";
OleDbConnection Conn = new OleDbConnection();
Conn.ConnectionString = connectionstring;
OleDbCommand myCommand = Conn.CreateCommand();
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter();
DataSet myDataset = new DataSet();
DataTable EmptyDataTable = new DataTable();
myCommand.CommandText = SQL;
myDataAdapter.SelectCommand = myCommand;
Conn.Open();
try
{
//This part does not throw an error it just return an empty Dataset
myDataAdapter.Fill(myDataset);
Conn.Close();
return myDataset.Tables[0];
}
catch(SyntaxErrorException e)
{
MessageBox.Show(e.Message, "Database Error", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
Conn.Close();
 return …
Run Code Online (Sandbox Code Playgroud)

c# ms-access

2
推荐指数
1
解决办法
483
查看次数

将列表框复制到另一个列表框

我正在尝试将一个复制listbox到另一个

listbox所以我像这样清除目的地中的所有项目

    While Forms!SalesCallInformation!lstMills.ListCount > 0
        Forms!SalesCallInformation!lstMills.RemoveItem (0)
    Wend
Run Code Online (Sandbox Code Playgroud)

然后我复制所有这样的项目

    For i = 0 To lstMillsToAdd.ListCount - 1
        Forms!SalesCallInformation!lstMills.AddItem (lstMillsToAdd.Column(0, i) & ";" &   lstMillsToAdd.Column(1, i) & ";" & lstMillsToAdd.Column(2, i))
    Next
Run Code Online (Sandbox Code Playgroud)

问题是,在目的地listbox,我仍然拿到了旧物品。但是当我在删除时设置手表时,Forms!SalesCallInformation!lstMills.ListCount我可以看到它正在递减,因此它必须删除某些内容。

与刷新表单有关吗?因为我在插入新项目后尝试执行此操作:Forms!SalesCallInformation.Refresh但我得到了相同的结果。

有人有想法吗?

谢谢

另外,rowSourceType设置为value list

ms-access vba listbox ms-access-2010

2
推荐指数
1
解决办法
3572
查看次数

将图像保存到记录中

我正在将一些信息存储到我的Access数据库中,一个参数是一个BLOB字段,在这种情况下是一个图像,加载到Timage中.

我正在使用此代码来保存它:

var
AStream : TMemoryStream;
begin
AStream := TMemoryStream.Create;
  try
Image1.Picture.Graphic.SaveToStream(AStream);
AStream.Position := 0;
if Adotable1.Active then
begin
  Adotable1.Edit;
  TBlobField(Adotable1.FieldByName('Termograma')).LoadFromStream(AStream);
  Adotable1.Post;
end;
  finally
    AStream.Free;

adotable1.Append;
adotable1['Data']:= datetimepicker1.Date;
adotable1['Temax']:= edit4.Text;
adotable1['Temin']:= edit5.Text;
adotable1['Descrição da Posição']:= memo1.Text;
adotable1['Comentários']:= memo2.Text;
adotable1.Post;
Run Code Online (Sandbox Code Playgroud)

但是我也通过点击"附加"部分中的相同按钮来存储其他信息.

当我按下保存按钮时,该信息不会存储在数据库中的相同ID中.

我该如何解决这个问题?

delphi ms-access delphi-xe3

2
推荐指数
1
解决办法
910
查看次数