2017-11-22 4 views
0

から私は問題がSQLなっ名は、ユーザーフォーム

[Forms!frm_Advisors_Stats-manager].[Position]

私はここで間違ってやっているものを上の任意の助けを借りてのように見える

CurrentDb.Execute "INSERT INTO _tbl_Structure " & _ 
      "SELECT * " & _ 
      "FROM [MS Access;pwd=" & strPassword & ";database=" & DBpath & "\" & DBname & "].[" & tblStructure & "] " & _ 
      "WHERE [user] = '" & [Forms!frm_Advisors_Stats-manager].[Position] 

アクセスに私のSQLと少し問題が生じていますか?

位置のテキストボックスには、ログインした人物がマネージャであるかどうかが表示されます。あなたは文字列の連結を使用しているので

External name not defined

+2

あなたは '= '"&[Forms!frm_Advisors_Stats-manager]で引用符を閉じていません。[Pとする。 [位置]& "'" ' – SearchAndResQ

+0

ええ、私は投稿した後、私はそれを閉じたが、同じエラーを取得していることに気づいた – dmorgan20

答えて

1

か、正しいブラケットを使用します。私は多くを使用し、フォーム上のコントロールを参照する

[Forms]![frm_Advisors_Stats-manager]![Position] 
0

、あなたのオブジェクトの表記をする必要があります:ユーザーフォーム上で述べたように、彼らはマネージャである場合、すべてのマネージャがチーム

に示した誤差がありました記録引っ張りますVBAに有効です。オブジェクト名にはハイフンが含まれているため、フォームコレクションを使用し、bang演算子を使用しないで適切に参照する必要があります。

"WHERE [user] = '" & Forms("frm_Advisors_Stats-manager").Position.Value & "'" 
+0

ありがとう - これは捨ててしまった別のエラー:アプリケーション定義のエラーまたはオブジェクト定義のエラー – dmorgan20

+0

フォームまたはフォームのコントロール名のスペルが間違っているように聞こえる、またはフォームが開いていません –

+0

コード実行の直前に、次の行があります。DoCmd.OpenForm "frm_Advisors_Stats -manager "、acNormal このコードはモジュールにもありますが、これは影響します – dmorgan20

0

もう一つの方法は次のとおりですので

Form_Advisors_Stats-manager.Position 

CurrentDb.Execute "INSERT INTO _tbl_Structure " & _ 
     "SELECT * " & _ 
     "FROM [MS Access;pwd=" & strPassword & ";database=" & DBpath & "\" & DBname & "].[" & tblStructure & "] " & _ 
     "WHERE [user] = '" & Form_Advisors_Stats-manager.Position & "'" 
関連する問題