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]

2番目のエラー

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

あなたのコードがあなたのフォームのコントロールを参照しようとしているように見えますが、無効な方法です(私は言語を読んでいないので、コードが何をしようとしているのか完全には理解できません、そして私は理解していませんフォームにどのようなコントロールがあるかを知ってください)。

たとえば、フォームのコンボボックスの値を取得するには、通常、のようなものを入力しますMe.cboMyCombo.ValueMe!MyFieldこのフォームにバインドされたフィールドの値を取得するには、またはのように入力しますMe![My Field].Value

あなたの呼び出しは、最後にいくつかのメソッドが多すぎるように見えます[schede]![S_Stampa_Ordini].[ordinamento]Me.[SSMin-In].scheda.testo0.Caption

どの方法が受け入れられるかを見つける1つの方法は、入力を開始し、ポップアップメニューにガイドを表示させることです。たとえば、入力Me.して何がポップアップするかを確認します。私の例でcboMyComboは、はメニューの項目の1つになります。それを選択すると、選択肢として新しいメニューが表示されますValue

'ExpressionBuilder'を使用することもできます。

于 2013-02-28T22:08:01.337 に答える
0

SQLをクエリ(または2つ)にコピーしてみてください。彼らが実際にあなたが望む結果を生み出すことを確認してください。次に、を呼び出すことができます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 に答える