小编Han*_*sUp的帖子

如何在删除重复项时在Access中合并两个表?

我已经在线阅读了所有可能的解决方案,每次都会得到不同的结果.

我有两张桌子:客户和顾客.它们都具有相同的结构:LastName,FirstName,Address,City,State和Zip.客户有108,000个条目,而Patrons只有42,000个条目.其中一些条目在两者之间重复,因为我没有150,000个客户端.

我需要一个连贯的清单.我遇到的问题是我的一些客户端位于同一地址,所以我不能简单地删除重复的地址,因为这将删除合法的客户端.我有一些非常常见的客户,比如Jane Doe,其中有几个在不同的地址,所以我不能只过滤掉重复的姓氏或名字.

我正在使用Microsoft Access 2010.

简单地将唯一值转换为YES无济于事.

我已经搜索了微软的帮助文件,我得到了2到168,000的结果,其中大部分都介于两者之间.

如何在没有重复的情况下获得单个列表而不必按字母顺序排列并逐行进行150,000个条目?

ms-access

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

有没有办法使用If语句的条件作为其值?

这可能是一个简单的问题,但它是我以前从未见过的答案.有没有办法使用if语句的条件作为其值?在进行大量计算以确定是否满足某个条件的情况下,这将非常有用,如果是,则计算结果.

举个例子:

if ( [intense calculation] > 0, [same intense calculation], 0)
Run Code Online (Sandbox Code Playgroud)

我特别感兴趣的是关于SQL,因为我现在正在使用Access中的报表,因此无法将强烈计算的结果存储在变量中.

sql optimization ms-access conditional-statements

7
推荐指数
1
解决办法
120
查看次数

SQL 查询用于计算每个客户的订单数量和总金额

我有两个 Order带有列的表:

OrderID,OrderDate,CID,EmployeeID
Run Code Online (Sandbox Code Playgroud)

OrderItem带有列:

OrderID,ItemID,Quantity,SalePrice
Run Code Online (Sandbox Code Playgroud)

我需要返回客户 ID(CID)、每个客户的订单数以及每个客户所有订单的总金额。

到目前为止,我有两个单独的查询。其中一个给我客户订单的数量......

SELECT CID, Count(Order.OrderID) AS TotalOrders
FROM [Order]
Where CID = CID 
GROUP BY CID
Order BY Count(Order.OrderID) DESC;
Run Code Online (Sandbox Code Playgroud)

另一个给我总销售额。我在组合它们时遇到了麻烦......

SELECT CID, Sum(OrderItem.Quantity*OrderItem.SalePrice) AS TotalDollarAmount
FROM OrderItem, [Order]
WHERE OrderItem.OrderID = [Order].OrderID
GROUP BY CID
Run Code Online (Sandbox Code Playgroud)

我在 Access 2010 中执行此操作。

sql ms-access

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

MS Access中的CONCAT等效项

我在MS Access中做了一些工作,我需要在一堆字段中附加一个前缀,我知道SQL,但它似乎在Access中看起来不一样

基本上我需要这个翻译成一个可以访问的命令:

UPDATE myTable
SET [My Column] = CONCAT ("Prefix ", [My Column]) 
WHERE [Different Column]='someValue';
Run Code Online (Sandbox Code Playgroud)

我上下搜索,似乎找不到简单的翻译.

sql ms-access ms-access-2010

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

打开表单时隐藏访问窗口

我的Access数据库有一个autoexec宏,它打开一个主菜单(Form).所有必要的功能都是菜单(窗体)控制,我想隐藏访问窗口,以便只显示表单.我被提到http://www.tek-tips.com/faqs.cfm?fid=2562, 但这不适用于更高版本.是否有适用于Access 2007-2013的片段?

ms-access vba access-vba

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

使用VBA将Excel工作表导入Access

我正在尝试使用一些简单的VBA代码将Excel电子表格导入Access.我遇到的问题是Excel文件中有2个工作表,我需要导入第2个工作表.是否可以在VBA代码中指定所需的工作表?

Private Sub Command0_Click()

Dim dlg As FileDialog
Set dlg = Application.FileDialog(msoFileDialogFilePicker)

With dlg
.Title = "Select the Excel file to import"
.AllowMultiSelect = False
.Filters.Clear
.Filters.Add "Excel Files", "*.xls", 1
.Filters.Add "All Files", "*.*", 2

If .Show = -1 Then
StrFileName = .SelectedItems(1)
DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, "COR Daily", StrFileName, True
Else
Exit Sub
End If
End With

End Sub
Run Code Online (Sandbox Code Playgroud)

我应该将StrFileName设置为'StrFileName'&'.Worksheetname'?这是适当的命名方案吗?

就像是:

StrFileName = StrFileName & ".WorkSheetName"
Run Code Online (Sandbox Code Playgroud)

ms-access vba ms-access-2007 access-vba

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

输入框的麻烦

我目前正在使用MS Access VBA中的InputBoxes.我正在检查验证和处理用户如何通过按OK或取消按钮与InputBox交互.

纠正我,如果我错了,但InputBoxes可以返回任何数据类型,默认情况下返回一个字符串?例如:

Dim userInputValue As String

'Text to display, Title, Default Value
userInputValue = InputBox("Please enter a #", "Determine Limit", 10000)

If userInputValue = "" Then
    MsgBox ("You pressed the cancel button...")
End If
Run Code Online (Sandbox Code Playgroud)

如果用户按下取消按钮,则运行正常.

但当我交换这个整数值时,如下所示:

Dim userInputValue As Integer
'Text to display, Title, Default Value
userInputValue = InputBox("Please enter a #", "Determine Limit", 10000)

If userInputValue = 0 Then
    MsgBox ("You pressed the cancel button...")
End If
Run Code Online (Sandbox Code Playgroud)

我收到一个Type Mismatch: Runtime Error '13'为什么这个?当我调试代码并查看返回的内容时,我发现userInputValue实际上是0,这正是我正在检查的内容.那么InputBox实际上返回一个字符串的问题是什么?

ms-access vba ms-access-2007 access-vba

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

使用DoCmd.RunSQL进行INSERT和DELETE时删除确认

我正在使用DoCmd.RunSQL方法根据用户在表单中执行的操作来INSERT和DELETE记录.它工作正常,但在删除或附加记录之前要求确认.如何删除确认.

顺便说一下,BeforeDelConfirm事件似乎不能与DoCmd.RunSQL一起运行.

sql ms-access vba access-vba

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

使用Python/pyodbc插入Access DB

我正在尝试使用Python/pyodbc将一些csv数据插入到Access 2007数据库中.我在Access中测试了一个工作追加查询,它选择了标题和一行值.

INSERT INTO AssetDetails ( [Reporting Account Number], [As Of Date], [Asset Type], [Security Description 1], [Shares/Par], [Base Price], [Base Cost], CUSIP, Ticker, ISIN, SEDOL ) 
VALUES ("ABCD99020002", "1/31/2010", "CASH & CASH EQUIVALENTS", "INTEREST RECEIVABLE", "0.000", "1.00", "1,171,069.04", "", "", "", "");
Run Code Online (Sandbox Code Playgroud)

在pyodbc中运行此查询会产生:

ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Microsoft Access Driver] Invalid bracketing of name '[0.000]'. (-1002) (SQLExecDirectW)")
Run Code Online (Sandbox Code Playgroud)

为了解决这个问题,我认为有可能是引起麻烦的数字周围的引号.我转到了以下查询:

SQL = '''INSERT INTO AssetDetails([Reporting Account Number], [As Of Date], [Asset Type], [Security Description 1], [Shares/Par], [Base Price], [Base Cost], CUSIP, …
Run Code Online (Sandbox Code Playgroud)

python sql ms-access odbc pyodbc

6
推荐指数
1
解决办法
4031
查看次数

iif(Iserror())函数仍然返回#error

我有以下函数在我的查询中创建一个列:

MTD:IIf(IsError(FormatNumber([62xx]![F40])),0,FormatNumber([62xx]![F40]))

这链接到Excel文件,人们将数字和文本放在同一列中(本例中为F40).我需要知道我正在看的东西是数字还是文字.如果它是文本我想要一个零,如果它是一个数字我想要数字.我知道当我在文本行上使用FormatNumber([C107_62xx]![F40])时出现错误.我会假设当我得到一个错误,然后我的iif公式将其转换为零,世界将会高兴.出于某种原因,即使使用我的iif语句,我仍然会收到#error.我究竟做错了什么?

我也试过使用IsNumeric函数,但我仍然得到#NUM!通过的错误.

ms-access function ms-access-2010

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