【Access備忘録】ControlSourceを変更すると同じプロシージャ内でフォームからデータを取得できない

記事
IT・テクノロジー
ある処理だけ、フォームからデータを取得しようとするとエラーになりました。エラーのあとフォームをいじると不穏にもデータが消えていきます。なんか怖い……。

2時間ほど悶絶したあと原因をつかみました。

dim strkalkan as string

Me.猫まっしぐら.ControlSource = "犬もまっしぐら"
strkalkan = Me!カルカン

このようにControlSourceを変更するとMe!カルカンを取得できずエラーになります。

dim strkalkan as string

strkalkan = Me!カルカン
Me.猫まっしぐら.ControlSource = "犬もまっしぐら"

これならOK。

一つでもControlSourceを変更すると処理が終わるまではフォームのテキストボックスの値はすべて空っぽ扱いになるようです。猫まっしぐらを取得するならともかくカルカン関係ない……でもそういうルールなのだから仕方がない……。

エラーとともに歩む人生です笑。
サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す