DexMachina の回答履歴
- エクセルVBA 他ブックのシートのsub呼び出し
ブックBのシート(*)に関数 sub aaaを定義します。 (*)シートオブジェクト名を任意のものに変更します。(→eee) この時、ブックAのVBAからブックBを開き、その参照を得て(workbook型の wbという名前の変数に格納します。)、「Call wb.eee.aaa」と 呼び出すことができると思っていましたが、"オブジェクトは そのメソッド/プロパティを持っていません"という旨のエラーが 出て、呼び出すことができませんでした。 どのようにしたら呼び出すことができるようになりますか。 aaaはpublicで定義しています。
- ベストアンサー
- Visual Basic
- otaks
- 回答数2
- 全てのコマンドボタンの名前を変更したい
先日質問した「オブジェクト(コントロール)の名前を変更したい」 http://okwave.jp/qa/q7896863.html?by=datetime&order=DESC の応用で、 前回はDexMachina様にご回答いただいて解決したのですが今度は違う部分で詰みました。 フォームに乗っかっているコマンドボタンの名前を変更しつつ、 インデックスを付けていこうと思うのですが ************************************** Sub オブジェクト名変更() Dim ctl As Control Dim i As Long Dim f As String f = "フォーム1" i = 1 DoCmd.OpenForm f, acDesign 'デザインビューで開く For Each ctl In Forms(f).Controls If ctl.ControlType = acCommandButton Then Forms(f)!Controls(ctl.Name).Caption = i Forms(f)!Controls(ctl.Name).Name = i End If Next ctl DoCmd.Close acForm, "フォーム1", acSaveYes '保存する End Sub ************************************** のControls(ctl.Name).でエラーになります。 エラー内容は 実行時エラー2465 指定した式で参照されている’ Controls’フィールドが見つかりません。 です。 イミディエイトで?ctl.Nameして見ると コマンド0となるので問題ないと思うのですが文法がおかしいのでしょうか? Forms(f)!コマンド0.Caption にすると問題なく動作します。 ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- PVTETEJPB8
- 回答数3
- オブジェクト(コントロール)の名前を変更したい
諸事情があり、フォーム上のコマンドボタン40個くらいの名前を変更したいのですが まず、一つだけ変更できるか実験してみたのですがうまくできません。 Sub オブジェクト名変更() DoCmd.OpenForm Form_フォーム1.Name, acDesign Form_フォーム1.コマンド0.Name = "あああ" DoCmd.Save acForm, Form_フォーム1 End Sub を実行すると メモリが不足しています。(Error 7) と出たり、 実行時エラー 29054 指定のコントロールを追加、名前を変更、または削除することはできません。 と出たりします。 これって無理って事でしょうか? バージョンは2007です。
- ベストアンサー
- オフィス系ソフト
- PVTETEJPB8
- 回答数1
- アクセスの解説書
補足質問しながら、うっかりベストアンサーを決定してしまって回答がもらえなくなったため、あらためての質問です。 私の持っているアクセスの解説書(『アクセス逆引き大全』)にはフォームやサブフォームのデータを保存するための方法が解説されていませんでした。 なにかもっとよい解説書があれば教えていただけませんでしょうか?
- 締切済み
- その他MS Office製品
- snorioo
- 回答数3
- ラベルとテキストボックスのグループ化を解除したい
ウィザードで作ったフォームがあるのですが、 画像のようにラベルとテキストボックスを離す事ができません。 ずっとくっついてきます。 二つを選択し、グループ化をしてその後解除してみましたが やっぱし離れません。 離れられない運命なのでしょうか? アクセス2007です。ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- QSMXIIWEMDSGZ
- 回答数2
- エクセルのユーザーフォーム表示について
ユーザーフォームを作成して、ワークシートのデータを帳票形式に表示しています。 これを閲覧だけ可能にして、ユーザーフォームから編集できないようにするにはどのようにすればよいのか教えて下さい。
- ベストアンサー
- その他MS Office製品
- jamkun
- 回答数2
- サブフォームのデータを保存する方法
VBAであるフォーム上のコマンドボタンで、別のフォーム上にデータを入力し保存をするのはどういうコードになるでしょうか。入力は出来るのですが、そのまま続いて保存する方法が分かりません。 またそのフォームにサブフォームが挿入されている場合、サブフォームのデータも保存するにはどうすればいいでしょうか。 よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- snorioo
- 回答数1
- クリックイベントなのに、2回クリックしないとフォー
クリックイベントなのに、2回クリックしないとフォームが閉じないです。 フォームに閉じると言うコマンドボタンがあり、クリックイベントで Private Sub cmd_閉じる_Click() DoCmd.Close acForm, Me.Name End Sub としてるのですが、なぜか1回ボタンを押しただけではフォームが閉じません。 2回目押した時にフォームがとじます。 ダブルクリックでも閉じます。 Private Sub cmd_閉じる_Click() 'DoCmd.Close acForm, Form_Fフォーム.Name End Sub のように、フォーム名を指定すると1回のクリックで閉じます。 しかしMe.Nameだと2回目じゃないと閉じない理由がわかりません。 Fフォームは他フォームから DoCmd.OpenForm Form_Fフォーム.Name, acNormal で開いたから2回クリックしないと閉じないのでしょうか?
- ベストアンサー
- オフィス系ソフト
- GVHZUWNTL3
- 回答数1
- 温暖前線の前方で雨が降る理由
こんにちは。 中学の理科で分からない所があります。 「温暖前線の前方であまり強くない雨が長時間降り続く」 とあるのですが、どうして前方なのですか? 雲がそこに出来るのですか? あと、寒冷前線の場合、後方に降るのですか? 回答よろしくお願いします。
- ベストアンサー
- 地学
- noname#184456
- 回答数1
- DCountでテーブルのレコード件数を取得するには
アクセスのテーブル1に何件レコードがあるかをvbaのDCountで取得したいのですが Sub a() MsgBox DCount("テーブル1") End Sub すると、引数は省略できません。(Error 449)になります。 フィールドは件数あり、レコードが入ってたり入ってなかったりするし、主キーはありません。 アクションクエリの削除クエリですべてのレコードを削除したりするので レコード件数が0件なのか、レコードがはいってるかをDCountで取得できればなー と思うのですが、どうすればいいでしょうか?
- ベストアンサー
- オフィス系ソフト
- sdfkhewrqa
- 回答数2
- ExcelファイルをAccessでtxtに変換する
ExcelファイルをAccessでテキスト形式に変換しようとしています。 テキスト形式に抽出した際に文字列と文字列の間に空欄を設けたいのですが、 この空欄の部分は「スペースキー」で作成したものと「tabキー」で作成したものと 微妙に異なっているようなので「tabキー」での空欄と同じ効果を持たせる方法を教えてください。 (参考例) (1)Accsessに取り込むExcelは次のように準備しました。 A B C 1行目 investigation [名] 調査 ; (コロン) (2)これをAccessで関数を使ってひとつにし、テキスト形式にしたものがこちら。 investigation [名]調査する; ※空欄には「スペース」を使用。 (3)しかし、これではスマートフォンで利用するアプリでうまく表示できなかったたため アプリの説明書を読んでみると●の部分へ「tabキー」で空欄を入れる必要があると判明。 investigation●[名]調査する; この「tabキー」での空欄を関数で表現する方法がわからないというわけです。 よろしくお願いします。
- アクセス非連結フォームのテキストボックスの制御
いつも楽しく勉強させていただいております。 Access2007、win7で前任者が作ったものを元に類似のシステムを作ることとなりました。 その中にあるフォームで私にとってよくわからないものがあります。 そのシステムとは検索条件を入力し、条件に一致したレコードを表示するというものです。 条件を設定するフォームはレコードソースプロパティは空白、つまり非連結のフォームです。 したがって検索条件を入力するテキストボックスのコントロールソースプロパティも空白です。 こういった場合「入力する値は数字だけに限定」といった制御をするなら、入力規則プロパティを設定するか、更新前のイベントでコードを書くかするものだと思っていました。 ところがこのフォームにはそれらしき設定がまるでないのです。 それなのに数字以外の値、たとえば"a"などを入力すると 「このフィールドに入力した値が正しくありません。たとえば、数値型のフィールドに文字列を入力しました。」というメッセージをちゃんと表示し、誤った入力を受け付けません。 どなたかこの謎を解明してくださるとうれしいのですが。 前任者に直接聞けるといいのですが、その人は派遣社員でして契約終了後は連絡が取れないのです。
- ベストアンサー
- その他(データベース)
- meglin888
- 回答数3
- イベントプロパティに指定した式 クリック時 でエラ
以前http://okwave.jp/qa/q7848134.html で質問したものです。 2名の方ご回答ありがとうございました。 頂いたご回答を実行するとエラーになるので教えてください。 新規にフォームを作り、タブとコマンドボタンを置き、 Sub delPage() Dim myForm As String Dim frm As Form Dim i As Long myForm = "フォーム1" DoCmd.OpenForm myForm, acDesign Set frm = Forms(myForm) For i = frm!タブ0.Pages.Count - 1 To 2 Step -1 frm!タブ0.Pages.Remove (i) Next DoCmd.Close acForm, myForm, acSaveYes Set frm = Nothing End Sub を実行すると、ページが消えフォームが閉じられますが、再度フォームを開いた時に、 「イベントプロパティに指定した式 クリック時 でエラーが発生しました: Microsoft Office AccessがOLEサーバーまたはActiveXコントロールと通信指定いるときにエラーが発生しました。」が出てしまいます。 コードを消したり、タブを削除してもこのコードはずっと出るようになってしまいました。 (フォームにコマンドボタンしかなくても) なぜこのコードを実行すると、このようなエラーがでるのでしょうか? http://www.accessclub.jp/bbs2/0033/beginter10779.html をみると、 「OCX/ActiveX コントロールを貼り付けたが、不要になって外すなどして、無意味な参照設定が残ることがあります。」 となっていますが、コマンドボタンとタブとページだけで、ActiveX コントロールは貼りつけてないし、 参照設定は何もいじってません。 新規にmdbファイルを作り、同じ事をすると同じエラーメッセ―ジが出ます。 当方win7、オフィス2007です。 ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- igetanmzzt
- 回答数2
- アクセス非連結フォームのテキストボックスの制御
いつも楽しく勉強させていただいております。 Access2007、win7で前任者が作ったものを元に類似のシステムを作ることとなりました。 その中にあるフォームで私にとってよくわからないものがあります。 そのシステムとは検索条件を入力し、条件に一致したレコードを表示するというものです。 条件を設定するフォームはレコードソースプロパティは空白、つまり非連結のフォームです。 したがって検索条件を入力するテキストボックスのコントロールソースプロパティも空白です。 こういった場合「入力する値は数字だけに限定」といった制御をするなら、入力規則プロパティを設定するか、更新前のイベントでコードを書くかするものだと思っていました。 ところがこのフォームにはそれらしき設定がまるでないのです。 それなのに数字以外の値、たとえば"a"などを入力すると 「このフィールドに入力した値が正しくありません。たとえば、数値型のフィールドに文字列を入力しました。」というメッセージをちゃんと表示し、誤った入力を受け付けません。 どなたかこの謎を解明してくださるとうれしいのですが。 前任者に直接聞けるといいのですが、その人は派遣社員でして契約終了後は連絡が取れないのです。
- ベストアンサー
- その他(データベース)
- meglin888
- 回答数3
- アクセス2003 共有フォルダ 表示が大きい
共有フォルダにあるデータベースを4人で共有して使っています。 私のPCで作成したので、私は何も問題なくちょうど良い画面表示にて 使用しています。 後の3人のディスプレイをみてみると表示の大きさに、ばらつきがあります。 1人の画面表示は、とてつもなく大きくてスクロールバーを無駄に 使いまわる必要があります。 後の2人の画面表示は画面いっぱいっぱいになっていますが、 前記の1人に比べればかなりマシです。 共有している3人の画面表示をマクロを使わずに私の画面表示の 大きさにそろえることは可能でしょうか。 ご教授よろしくお願い致します。
- ベストアンサー
- その他MS Office製品
- kabihana
- 回答数1
- 異世界においてSI単位を再現する方法
漫画やライトノベルやオンライン小説の中には、現実世界か、或いは現実世界に近い世界で生きて来た人間が、異世界に迷い込んだり、死後に(前世の記憶を保持したまま)異世界の人間として転生したりする作品があります。 中には、自らが知る科学的知識を利用して、その異世界には存在していなかったテクノロジーを再現するといった話もある様です。 しかし、科学技術を再現するためには、幾つかの自然定数が必要になったり、様々な物性値のデータが必要になる事もあります。 そして、暗記している自然定数の値や、物性値のデータを役立てるためには、メートル、秒、キログラム、といった基本単位が定まっていなければなりません。 そこで質問なのですが、ヒトとは異なる肉体で異世界に放り出された場合、メートル、秒、キログラム、といった基本単位を殆ど自力で実用化(使用するのは主に自分だけ)するためには、どの様な方法が考えられるでしょうか? 尚、条件は以下の様な場合を想定させて頂きます。 (1)誤差±5%以内程度の粗さで良い (2)ホモサピエンスとは体格を始めとする、肉体のデータが異なるため、身体の大きさや心臓の拍動周期、バイオリズム等は参考にする事が出来ない (3)光速、万有引力定数、陽子質量、等々の基礎的な物理定数の値は現実世界と同一 (4)水、窒素、酸素を始めとする化学物質、及び玄武岩を始めとする各種鉱物等の自然界に存在している物質の種類は地球とほぼ同様で、地球上にあるものと組成や結晶構造等が同じものに関しては、物性値も同じ(大気の組成は多少地球のものとは異なる) (5)その世界における、1日の長さ、1年の長さ、重力加速度、標準的な大気圧、等々は地球とは異なる (6)その世界に放り出された現実世界人は、何らかの工学の技術者レベルの知識と技術的な腕の持ち主 (7)その世界の科学技術文明のレベルはヨーロッパの中世後半並みで、ガラス加工技術や銅の針金等はあるため、その世界に放り出された現実世界人が頑張れば、若しかすると簡単な真空管程度までなら製作出来る可能性はある。(人工高分子材料は無いため、電気回路の絶縁には、油に浸した布等を使用する) (8)その世界に放り出された現実世界人が、ダニエル電池等の簡単な電池を自作して、電気分解等を行う事は比較的容易 (9)その世界に放り出された現実世界人が、硫黄から硫酸を作ったり、天然の硝石から硝酸を作る事も、少量であればおそらく可能 (10)その他、中世ヨーロッパレベルの文明において、流通している資源を利用して、個人の努力で制作可能な物品であれば、自作は可能とする (11)「セシウム133原子の基底状態における2つの超微細準位間の遷移に対応する放射周期を基準にする」といった、高度な科学技術を使った装置を必要とする方法の場合は、中世ヨーロッパレベルの文明の下で、その様な装置を実用化するための具体的且つ実用的な方法が無い場合には不可とする 以上の様な条件ですが、現実世界の1メートル、1秒、1キログラム、に近い値を定めるには、どの様な方法が考えられるでしょうか? せめて、秒だけでも決定する事が出来れば、後はアルマン・フィゾーかレオン・フーコーの方法で測定した光速の値から、メートルを決定する事が出来、続いて0.001m^3の水の質量から大雑把なキログラムの値を求める事が出来ると思います。 例えば、水素等の何らかの物質の輝線/吸収線スペクトルの中でも、電波領域の電磁波の波長と周期を測定する事が出来れば、その値からメートルと秒を決める事が出来るのですが、「電波領域の電磁波の波長と周期を測定する」際における(11)の条件を満たす方法が、今のところ私には思いつく事が出来ておりません。 年末年始で、暇を持て余している理系人間の方がおられましたら、どの様にすれば自力で基本単位の値を求める事が出来るのかを、考えてみては頂けないでしょうか?
- ベストアンサー
- 科学
- kagakusuki
- 回答数8
- サブフォームの左からの値を取得するには?
アクセス2007です。 MsgBox Form_Fサブフォーム.InsideHeight で、高さは取得できるのですが、 MsgBox Form_Fサブフォーム.InsideLeft にすると、.InsideLeftがコンパイルエラーとなってしまうようです。 デザインビューでサブフォームのプロパティシートで左位置にカーソルをあててF1を押しても ヘルプは出てきませんでした。 VBAでのサブフォームの左位置の取得方法を教えてください。
- ベストアンサー
- オフィス系ソフト
- BBFSBOQZU34
- 回答数1
- 「載」ことわざ
全くうろ覚えでして おたずねするのが申し訳なくも有るのですが。 (今やるべき事をシノゴノ言わずさっさと行う)というような意味合いの諺を 教えて頂きたくお願いいたします。 「載」という字がはいった4文字の、ことわざであったと思われます。
- 締切済み
- その他(学問・教育)
- pelolin
- 回答数2
- アクセス2007
テーブルやクエリを削除するときに、 右クリック→削除の後に、「削除してもいいですか?」のようなアナウンスがあったのですが それがなくなってしまいました。 再度、「削除してもいいですか?」と言わせる方法を教えてください。 当方アクセス2007です。VBAは使いたくないです。
- ベストアンサー
- オフィス系ソフト
- PWONNZULEZFH
- 回答数1
- オブジェクトを削除するときに警告が出ない。
見出しの通り、フォームやクエリーを削除してよいかどうかの確認が出ません。 ツール-オプション-編集/検索タブ では「オブジェクトの削除」の確認にチェックが入っています。 誤って必要なオブジェクトを削除してしまわないか心配です。どういう原因が考えられるでしょうか? よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- snorioo
- 回答数2