0

我有一个需要使用的数据库,但它有一些我必须修复的错误。由于我不是 MS-Access 方面的专家,所以我无法弄清楚错误在哪里。

第一个错误

Run-time. Could not find field '| 1' to which reference is made in the expression.

按下打印按钮时抛出。

在此处输入图像描述

打开调试,我发现了这段代码:

Private Sub Pulsante40_Click()

    If Me!Campo51 = False Then
        Select Case [schede]![S_Stampa_Ordini].[ordinamento]
            Case 1
                DoCmd.OpenReport "Stampa Ordini BY DATA", , , " (DATA_AGG Between #" & Format$(Me.[Dal], "mm/dd/yyyy") & "# And #" & Format$(Me.[Al], "mm/dd/yyyy") & " 23:59#) AND Tipo = """ & Me.TipoL & """"
            Case 2
                DoCmd.OpenReport "Stampa Ordini BY CLIENTE", , , " (DATA_AGG Between #" & Format$(Me.[Dal], "mm/dd/yyyy") & "# And #" & Format$(Me.[Al], "mm/dd/yyyy") & " 23:59#) AND Tipo = """ & Me.TipoL & """"
            Case 3
                DoCmd.OpenReport "Stampa Ordini BY LAVORAZION", , , " (DATA_AGG Between #" & Format$(Me.[Dal], "mm/dd/yyyy") & "# And #" & Format$(Me.[Al], "mm/dd/yyyy") & " 23:59#) AND Tipo = """ & Me.TipoL & """"
            Case 4
                DoCmd.OpenReport "Stampa Ordini BY DATA_CONS", , , " (DATA_AGG Between #" & Format$(Me.[Dal], "mm/dd/yyyy") & "# And #" & Format$(Me.[Al], "mm/dd/yyyy") & " 23:59#) AND Tipo = """ & Me.TipoL & """"
        End Select
        FDipendente = 0
    Else
        DoCmd.OpenForm "FiltroStampa", , , , , A_DIALOG
    End If

End Sub

它给了我在线错误:

Select Case [schede]![S_Stampa_Ordini].[ordinamento]

第二个错误

Compile Error, could not find the method or data member

当我打开面具分钟并选择时抛出

 Legno, or Lavorazione Ext

在此处输入图像描述

代码:

Private Sub Tipo_AfterUpdate()
    Select Case Me.Tipo
        Case "C"
            Me.[SSMin-In].scheda.testo0.Caption = "Lavorazione:"
        Case "L"
            Me.[SSMin-In].scheda.testo0.Caption = "Cod.Prev.:"
        Case "E"
            Me.[SSMin-In].scheda.testo0.Caption = "Cod.Prev.:"
    End Select
End Sub

它给了我在线错误:

私有子 Tipo_AfterUpdate()

这几天我一直在尝试解决数据库问题,或者至少开始学习视觉基础来理解一些东西。不幸的是我只知道java,我的同事帮不了我。提前感谢您的回答,如果我不清楚或没有提供足够的信息,我深表歉意。

4

2 回答 2

0

您可能想尝试将您的 SQL 复制到一个(或两个)查询中。确保它们确实产生了您想要的结果。然后,您可以调用DoCmd.OpenQuery "qappYourNewQueryName". 它更容易阅读。

INSERT INTO [MIN-OUT] 
    ( LAVORAZION, TIPO, MINUTI ) 
SELECT DISTINCTROW 
    [MIN-IN].LAVORAZION, 
    [MIN-IN].TIPO, 
    0 FROM [MIN-IN] 
GROUP BY 
    [MIN-IN].LAVORAZION, 
    [MIN-IN].TIPO;

' What is this?
, ID_Dipendente ) 

SELECT DISTINCTROW 
    [MIN-IN].LAVORAZION, 
    [MIN-IN].TIPO, 
    [Forms]![Minuti].[dipendente] AS Espr1 
FROM [MIN-IN] 
GROUP BY 
    [MIN-IN].LAVORAZION, 
    [MIN-IN].TIPO, 
    [Forms]![Minuti].[dipendente];")
于 2013-03-09T02:19:50.073 回答
0

在我看来,您的代码正试图引用表单上的控件,但是以一种无效的方式(我不太明白代码试图做什么,因为我不阅读语言,而且我不知道您在表单上有哪些控件)。

例如,要获取表单上组合框的值,您通常会键入类似Me.cboMyCombo.Value. 要获取绑定到此表单的字段的值,您可以键入类似Me!MyFieldor的内容Me![My Field].Value

[schede]![S_Stampa_Ordini].[ordinamento]你的电话Me.[SSMin-In].scheda.testo0.Caption看起来他们最后有太多的方法。

找出可接受的方法的一种方法是开始输入并让弹出菜单指导您。例如,键入Me.并查看弹出的内容。在我的示例中,cboMyCombo将是菜单中的项目之一。选择它,您将看到一个新菜单Value作为选择。

您还可以使用“表达式生成器”

于 2013-02-28T22:08:01.337 回答