0

Access 2007 でコードを作成しました。実行時に回答を表示したいのですが、表示されません。省略したコードがあると思います。表示するのを手伝ってください。

コードは次のとおりです。

Private Sub cmdCalculate_Click()
    On Error GoTo ErrorHandling
    Dim rsAsset As Recordset
    Dim SQL As String
    SQL = "SELECT * FROM Asset WHERE Asset.Asset_Condition ='Repairs';"
    Set rsAsset = CurrentDb.OpenRecordset(SQL)
    Dim Total As Integer
    Total = 0
    rsAsset.MoveFirst
    While (Not rsAsset.EOF)
        Total = Total + rsAsset!Asset_Condition
        rsAsset.MoveNext
    Wend
    Dim Ave As Double
    Ave = Total / rsAsset.RecordCount
    Debug.Print "Total Repairs= " & Total

    Exit Sub
ErrorHandling:
    MsgBox Err.Description
    rsAsset.Close
End Sub

表にデータを入力しましたが、答えを表示するコードの書き方がわかりません。

4

1 に答える 1

0

ある時点では を実行しWHERE Asset.Asset_Condition ='Repairs'、別の時点では "Asset_Condition" を数値 ( Total = Total + rsAsset!Asset_Condition) であるかのように脅します。
今。「Asset_Condition」はテキストですか、数値ですか?

また、VBA からレコードを 1 つずつ調べるのではなく、SQL を使用して計算してみませんか? 「Asset_RepairCost」がデータ テーブル内の既存の数値フィールドであり、「Asset_Condition」がテキストであると仮定して、この人物を試してみてください。

SELECT SUM(Asset_RepairCost) AS 'TotalRepair', AVG(Asset_RepairCost) AS 'AverageOfTotalRepair' FROM Asset WHERE Asset.Asset_Condition ='Repairs'

于 2013-04-26T11:30:05.093 に答える