Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


115 / 2272 ツリー ←次へ | 前へ→

【12970】Dlookupの値がクリップボードに送られない つかさ 16/3/14(月) 23:35 質問[未読]
【12971】Re:Dlookupの値がクリップボードに送られな... 亀マスター 16/3/15(火) 1:15 回答[未読]
【12973】Re:Dlookupの値がクリップボードに送られな... つかさ 16/3/16(水) 20:55 お礼[未読]

【12970】Dlookupの値がクリップボードに送られない
質問  つかさ  - 16/3/14(月) 23:35 -

引用なし
パスワード
   初めまして。

早速ですが、質問させてください。。困っています。

ボタンを押すと、クリップボードに変数の文字列が送られ、そのあとコピーで任意の場所に張り付けられるというシステムを作っております。
実際に作ったVBAのコードは以下になります。


Set Clip = CreateObject( _
   "new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
  
  Clip.GetFromClipboard
  Clip.SetText "○○○○" & DLookup("納品先ID", "納品先台帳", "納品先名 ='" & combo納品先名 & "'")
  Clip.PutInClipboard
  
  Set Clip = Nothing


ながったらしいコードになってしまったのは、microsoft forms 2.0 object libraryを直接FM20.DLLを選んだとしても参照できなかったためです。
あきらめかけましたが、なんとか上記のコードを書いてある場所を見つけコピーしたところ正常に動きました。

しかし、上記のコードですと

"○○○○" までしかクリップボードにコピーできず、肝心な「納品先ID」がコピーできません。Dlookupのやり方は間違っていないようで、ちょっとでも変えると全くクリップボードにコピーできなくなります。

Str(Dlookup…) で行いましたが、やはり何もクリップボードに送られませんでした。

やはりDlookupが間違っているのでしょうか。
どなたかわかる方教えて頂ければ幸いです。。。

【12971】Re:Dlookupの値がクリップボードに送られ...
回答  亀マスター  - 16/3/15(火) 1:15 -

引用なし
パスワード
   使い方は合っていると思います。
単純に思い浮かぶのは、DLookupのWHERE句がおかしいとかで、
DLookupの返り値がNullになっている(該当するものがない)
ということでしょうか。
MsgBox DLookup(...,...,...)とかで、DLookupの返り値が
望むものになっているか確認しては?
もしかして、「combo納品先名」が列数2以上のコンボボックスで、
ドロップダウンで表示されているものとValueプロパティで
取得出来るものが違うのでは?

【12973】Re:Dlookupの値がクリップボードに送られ...
お礼  つかさ  - 16/3/16(水) 20:55 -

引用なし
パスワード
   ありがとうございます!
複雑なコードの間にいれていたため、どうやら受注フォームを選択していなく、レポートを開いた瞬間にこのコードを読み込む順番になっていたのが原因でした!

115 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078188
(SS)C-BOARD v3.8 is Free