我有一个使用本地SQL Server后端的访问数据库,用于除1个基于Web的MySQL表以外的所有表。MySQL表有大约50行,3个字段,一点也不大。我有一个odbc连接设置,该表与保存的密码链接。该表每天最多更新30次...有时连接中断,并且将显示MySQL连接弹出窗口...单击test将导致成功,单击ok将允许代码继续。它正在执行1行更新(SET LastUpdatedDate =#”&now()&“#WHERE ItemID ='xyz')。
我想捕获一个错误,或者如果它不可用,请让它继续而不连接。。。但是似乎没有错误生成。发生这种情况时,我宁愿不更新表,而必须实际选择确定以使其再次运行。在美国各地的多台PC上,存在多个位置的此问题。我假设这是MySQL数据库托管的服务器,但出现了问题-我只想知道如何忽略它们并继续使用其他代码...再次,没有错误产生(因此出现错误...不会工作)。有任何想法吗?使用Access 2016。
更新:我当前的设置是要对服务器执行ping操作...如果ping获得响应,我认为它已启动...然后运行'CurrentDb。执行“ UPDATE XYZ SET ABC ='DEF'WHERE GHI ='JKL '”。这么简单。如果尝试查询表XYZ且该表不可用,则会出现相同的连接弹出窗口。我应该如何刷新表格?删除链接并重新创建?
新更新终于开始尝试下面由Andre提出的无DSN直通查询。当我进入“执行”步骤时,出现一条错误消息,提示我无法执行选择查询...但这是一个更新查询。这是SQL字符串....SQL = "UPDATE [Status] SET ItemDate = NOW() WHERE PlantID = '" & PlantID & "' AND ItemID = '" & ItemID & "'"
我在 MS Access 中打开树视图时遇到问题。我认为这是自上次 Windows 更新以来。
我在启动程序时收到一条错误消息:
“此控件元素中没有对象。运行时错误 438:对象不支持此属性或方法。”
调试器将 vba 代码中的一行标记为黄色:CreateTree TreeView0.Nodes
.
自上次以来我没有改变任何东西。在那里它仍然有效。我做了以下步骤,但它们都没有帮助:
我希望有人可以帮助我!
我正在尝试将联系人的标题,名字和姓氏连接到Access报告中的一个字符串中.目前我正在使用控件设置为的文本字段
=[ContactTitle] & ' ' & [FirstName] & ' ' & [LastName]
Run Code Online (Sandbox Code Playgroud)
但是,某些联系人没有与之关联的标题,而且我的方法留下了一个前导空格,使得我的报表上的文本对齐看起来很草率.所以我想知道,有没有一种方法可以连接,但只有在联系人标题不为空时才包含第一个空格?我知道加号运算符,但没有经验足以看到在这种情况下使用它的方法,而不只是使我的整个字符串为null.
我有一个Access VBA宏,它生成一个报告,将其保存在.pdf中,然后使用CDO通过电子邮件发送.如果我手动运行它或者如果我将它设置为在任务计划程序上运行安全选项"仅在用户登录时运行",则一切正常.但是,如果我将选项设置为"运行用户是否登录"(即使使用"以最高权限运行"选项),程序在第二行崩溃:
strFileFullPath = CurrentProject.Path & "\Test Report.pdf"
DoCmd.OutputTo acOutputReport, strReportName, acFormatPDF, strFileFullPath
有错误
Microsoft Access无法将输出数据保存到您选择的文件.
我很确定这是因为宏在后台与其他用户一起运行.我一直在寻找一个解决方案,但我发现它是不可能的,我应该改变其他打印方法,例如PDF Creator(这带来了很多其他问题).
我在Windows Server 2012 R2 Standard中使用Access 2016.
这不是一个关于问题的问题,但我确信MS Access开发人员很快就会遇到这个问题
情况: PC安装了MS Office 365(家庭或小型企业版),不包括MS Access 2016.
尝试:安装MS Access Runtime 2016.
问题:访问运行时安装提示错误,无法安装相同的冲突应用程序.
问题:我们是否可以安装MS Access运行时2016和Office 365?
我开发Access前端,然后我编译(.accdr
)并分发给我的用户.用户未在其PC上安装MS Access.他们只有Access Runtime.
我目前的临时解决方案:要求用户安装Access runtime 2013而不是2016.
注意:所有办公室版本均为32位(X86)
我编写此代码以将数据插入到我的Microsoft Access数据库中但它失败并抛出此错误:
INSERT INTO语句中的语法错误.
这是我的代码:
// Open the connection to the database.
connection.Open();
OleDbCommand dbcmd = new OleDbCommand();
dbcmd.Connection = connection;
// Inserting Data.
dbcmd.CommandText = "insert into ConveyanceBill1 (empname, from) values('" + txtEmployee.Text + "','" + txtFrom.Text + "')";
dbcmd.ExecuteNonQuery();
MessageBox.Show("Sucessfully Added!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
connection.Close();
Run Code Online (Sandbox Code Playgroud)
但如果我改变这一行:
// Inserting Data.
dbcmd.CommandText = "insert into ConveyanceBill1 (empname, from) values('" + txtEmployee.Text + "','" + txtFrom.Text + "')";
Run Code Online (Sandbox Code Playgroud)
到这条线:
// Inserting Data.
dbcmd.CommandText = "insert into ConveyanceBill1 (empname, designation) values('" + …
Run Code Online (Sandbox Code Playgroud) 使用Access .accdb时,每次打开文件时,都会看到文件系统中的“修改日期”更改为现在。这让我感到紧张。我希望它停止。
我不可能是唯一一个保存过有效数据库的人,并在数周或数月后将其打开并出现错误。当然,我可能有备份和备份,表数据与代码分开保存,版本历史占用了数GB的文件系统,电子邮件或其他任何地方……但是,这仍然让我有些犹豫每当我看到未修改日期的打开更新,一段时间没有触摸数据库时。
我是否已将某个开关拨到某个位置以使其执行此操作?这是预期的行为吗?我该如何阻止它?
要复制此内容,请创建一个新的accdb,然后保存并关闭。在其中放上任何东西,什么也不要放,或者在创建之后仅将其关闭一秒钟。打开一个Windows资源管理器,查找accdb所在的目录,并记下修改后的日期值。在显示的日期修改文件之后至少一分钟打开文件。alt-tab回到资源管理器窗口,您会看到修改日期已更改。
我有一个包含 10 多个文本控件的 Access 数据库。我想要一些代码来处理 CTRL + A KeyPress 事件。通常,在 Access 中按 CTRL + A 时,这将选择所有记录。我的最终目标是让 CTRL + A 仅选择该控件的文本(例如在浏览器的 URL 栏中按 CTRL + A,它仅选择该文本),以便我只能删除该控件的文本。我检查了这篇文章,因为我想要一些可以处理任何文本框的东西(处理每个文本框的 KeyPress = 60+ 行代码)。有什么办法可以让我有一个 for-next 循环?
Function HandleKeyPress(frm As Form, KeyAscii As Integer, ByVal e As KeyPressEventArgs) 'should it be a function or a sub?
For Each ctl In Me.Controls
If KeyAscii = 1 Then 'I think this is CTRL + A?
e.Handled = True 'Stop this keypress from doing anything …
Run Code Online (Sandbox Code Playgroud) 我有 MS Access 2016 表并在 Delphi 10.3 中运行 TFDQuery。
Field1 值是:aac
, abc
, acc
, a c
, azc
, ac
,azzc
我运行查询:
Select * from Table1 WHERE Field1 like 'a[^a-c]c'
Run Code Online (Sandbox Code Playgroud)
提到正则表达式匹配任何单个字符(仅一个字符),我应该得到:
"a c, azc"
Run Code Online (Sandbox Code Playgroud)
但我得到
"aac, abc, acc"
Run Code Online (Sandbox Code Playgroud)
请帮助更正脚本。
我正在使用个人数据库来跟踪我的项目。
我StartDate
在表中有一个称为日期/时间的列,该列在查询中按升序排序,该查询用作输入数据的表单的数据源。
该表格是一个拆分表格,以表格格式显示“详细信息”部分中的数据。
到目前为止,我已经输入了分配的项目,但是现在我还需要跟踪将要分配但尚未分配的常见项目。
为了对此进行跟踪,我想输入没有开始日期的未来项目。
但是,当我输入这样的记录时,它们将排在顶部,而不是我喜欢的列表的底部。
有什么方法可以覆盖排序,以便在StartDate
列中具有值的记录以升序排列,但是在StartDate
列中没有值的记录将在末尾排序吗?
谢谢!
我正在尝试创建一个项目,该项目将读取,写入和检查访问数据库文件中的重复项.我正在使用C#并继续获取"如果连接状态= 0,我已写入程序的连接失败错误.如果有人可以提供任何帮助我会很感激.我使用的是Access 2016,我不确定我需要什么参考对于我的项目(如果有的话).我在网上找到的所有内容都已过时或无效.
谢谢!
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
using System.Net;
using System.IO;
using System.Data.OleDb;
namespace RHG
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
using (OleDbConnection connection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.16.0;Data Source=C:\Users\grosales\Documents\rhg\RHG\Used.accdb"))
{
try
{
connection.Open();
MessageBox.Show("connected");
}
catch (Exception ex)
{
MessageBox.Show("connection failed");
}
}
}
Run Code Online (Sandbox Code Playgroud)
`
ms-access-2016 ×11
ms-access ×9
vba ×5
access-vba ×2
c# ×2
sql ×2
.net ×1
delphi ×1
insert ×1
insert-into ×1
install ×1
mysql ×1
office365 ×1
treeview ×1
vb6 ×1