Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Access 2016)
実行時エラーの回避策
投稿日時: 18/09/19 09:47:21
投稿者: ゴマゴマ

お世話になります。
 
実行時エラーが出るのですが何とか回避して進みたいのご教示願います。
現状クエリに入れている厚公差と巾公差を入替えボタンをクリックしたときに入替えするようにしています。
但しテーブルのデータがMAXとMINに分かれているため、双方を&で合わせて厚公差、巾公差としています。
この状況で入替えボタンをクリックすると実行時エラー出てしまいます。一旦クエリでMAXとMINを合わせておいてさらにそのクエリを操作すればよいのかとも思いますが、かなり作りこんでしまっているので、現状で回避策がないかと考えています。よろしくお願いします。
 
〇入替えボタン_CLICK()のコード
  Dim ATUKOUSA As String
    Dim HABAKOUSA As String
 
    ATUKOUSA = Me.厚公差
    HABAKOUSA = Me.巾公差
 
    Me.巾公差 = ATUKOUSA
    Me.厚公差 = HABAKOUSA
 
〇MAXとMINを合わせるためのクエリ
 巾公差: "+" & [巾公差MAX] & "," & Chr(13) & Chr(10) & "-" & [巾公差MIN]
 
〇実行時エラー 2147352567(80020009)
 フィールド’巾公差’は式に基づいているので、編集できません。
 
以上

回答
投稿日時: 18/09/19 10:13:00
投稿者: sk

引用:
入替えボタンをクリックすると実行時エラー出てしまいます。

引用:
〇MAXとMINを合わせるためのクエリ
 巾公差: "+" & [巾公差MAX] & "," & Chr(13) & Chr(10) & "-" & [巾公差MIN]
  
〇実行時エラー 2147352567(80020009)
 フィールド’巾公差’は式に基づいているので、編集できません。

演算フィールド(をコントロールソースとする連結コントロール)の
値を書き換えることは出来ませんので。
 
テキストボックスのの入れ換えを行なうのではなく、
コントロールソースの入れ換えを行なうようになされば
よろしいでしょう。
 
引用:
ATUKOUSA = Me.厚公差
HABAKOUSA = Me.巾公差
 
Me.巾公差 = ATUKOUSA
Me.厚公差 = HABAKOUSA

ATUKOUSA = Me.厚公差.ControlSource
HABAKOUSA = Me.巾公差.ControlSource
 
Me.巾公差.ControlSource = ATUKOUSA
Me.厚公差.ControlSource = HABAKOUSA

投稿日時: 18/09/19 11:35:23
投稿者: ゴマゴマ

sk様
 
いつもありがとうございます。
ご教示通りしたところ出来ました。
感動しました。
引き続きよろしくお願いします。
 
以上