2016-05-25 6 views
0

現在、MS Access 2013の[追加/更新]ボタンをコーディングしていますが、いくつかの奇妙な理由で、問題を解決するために問題が発生しています。 」...ここに全体的に私のコードは次のとおりです。ADD/UPDATE BUTTON構文エラー

Private Sub cmdAdd_Click() 
    'In the button add we have two options 
    '1. Insert 
    '2. Update 
    If Me.txtID.Tag & "" = "" Then 

    CurrentDb.Execute "INSERT INTO tblClients (ClientID, ClientName, Gender, " & _ 
          "City, [Address (Fisical)], [Cellphone/Telephone]) " & _ 
           "SELECT " & Me.txtID & ",'" & Me.txtName & "','" & Me.cboGender & "', '" & Me.cboCity & "','" & Me.txtAddress & "','" & Me.txtCellphone & "'" 
    Else 
    'Otherwise the data will be updated 
    CurrentDb.Execute "UPDATE tblClients" & _ 
    "SET ClientID =" & Me.txtID & _ 
    ", ClientName='" & Me.txtName & "'" & _ 
    ", Gender='" & Me.cboGender & "'" & _ 
    ", City='" & Me.cboCity & "'" & _ 
    ", Cellphone/Telephone='" & Me.txtCellphone & "'" & _ 
    ", Address (Fisical) ='" & Me.txtAddress & "'" & _ 
    "WHERE ClientID =" & Me.txtID.Tag 


    End If 


    cmdClear_Click 

    tblClients_subform.Form.Requery 


    End Sub 

私はそれが起こるとき、それは私を失望さを知っているので

+0

おそらくデータ型エラーです。なぜなら、「Me.TxtId」と「Me.TxtId.Tag」への参照が一重引用符でカプセル化されていないのはなぜですか?これらのフィールドは通常テキストボックスのように文字列を返しませんか? – Dave

+0

文字、数字、アンダースコア( '_')以外の文字を含む括弧のフィールド名:[携帯電話/電話]と[住所(Fisical)]つまり、UPDATEあなたが 'INSERT'のためにしたように。 – HansUp

+0

SQL文のテキストに値を連結するのではなく、パラメータのクエリに切り替えることを検討してください。 – HansUp

答えて

0

が近くに見える必要、それをこのように考える助けてください。エラーが文法エラーであると言えば、それは嘘ではなく、私にとってはしばしば木の木を見ることができませんでした。あなたは、いくつかのスペースが不足している: -

CurrentDb.Execute "UPDATE [tblClients]" & _ 
" SET [ClientID] =" & Me.txtID & _ 
", [ClientName]='" & Me.txtName & "'" & _ 
", [Gender]='" & Me.cboGender & "'" & _ 
", [City]='" & Me.cboCity & "'" & _ 
", [Cellphone/Telephone]='" & Me.txtCellphone & "'" & _ 
", [Address (Fisical)] ='" & Me.txtAddress & "'" & _ 
" WHERE [ClientID] =" & Me.txtID.Tag 
  • スペース
  • スペースの列名とテーブル名
  • また

私はこのために学んだトリックブラケット
  • WHERE ClientIDSET ClientID...前に: -

    1. Open a neそれ

    ワットクエリとSQLを表示

  • それに実行されていた文字列を貼り付けを実行して、あなたは、問題がどこにあるかについての詳細情報を取得。

  • +0

    大変ありがとうございます!それは今働いた!! –