访问,编译错误和运行时

时间:2013-02-28 20:20:10

标签: database ms-access runtime

我有一个我需要使用的数据库,但它有一些我必须解决的错误。 由于我不是MS-Access的专家,我无法弄清楚错误的位置。

第一个错误

Run-time. Could not find field '| 1' to which reference is made in the expression.
按下打印按钮时会抛出

enter image description here

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

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

enter image description here

代码:

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

它在线给我错误:

  

Private Sub Tipo_AfterUpdate()

我一直在努力解决数据库,或者至少开始研究视觉基础来理解某些东西。不幸的是我只知道java和我的同事无法帮助我。提前感谢您的回答,如果我不清楚或没有提供足够的信息,我会道歉。

2 个答案:

答案 0 :(得分:0)

在我看来,你的代码试图引用表单上的控件,但是以无效的方式(我无法理解代码试图做什么,因为我没有阅读语言,而且我不知道你在表格上有什么控制权。)

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

您对[schede]![S_Stampa_Ordini].[ordinamento]Me.[SSMin-In].scheda.testo0.Caption的来电看起来似乎有太多方法。

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

您还可以使用'Expression Builder'

答案 1 :(得分: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];")