DexMachina の回答履歴
- ”1つ目の_より左のすべての文字を取得する”クエリ
テーブル1のファイル名フィールドには 銀行_あああ銀行 銀行_いいい銀行 証券会社_あああ証券 証券会社_いいい証券 ・ ・ ・ というデータが入っていて、「銀行」や「証券会社」以外にもキーワードがあるのですが、 その先頭文字を取得するSQL文を教えてください。 条件としては、”1つ目の_より左のすべての文字を取得する”をしたいです。 結果は 銀行 証券会社 のように重複している値は表示させたくないです。 ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- ZQIZRTMCNR
- 回答数1
- 標準モジュールにpublicで宣言するしかない?
フォームモジュールと標準モジュールで同じ変数を使って値を行き来したい場合、 標準モジュールにpublicで宣言するしかないのでしょうか? 【フォームモジュール】 Private Sub cmd_コマンド0_Click() test = "aaa" Call 標準モジュールtest End Sub 【標準モジュール】 Public test As String Sub 標準モジュールtest() MsgBox test End Sub でいいのですか?
- Do~Loopステートメント
Do~Loopステートメントで使わな方が良いステートメントとは? Do~Loopステートメントで「古いから使わない方がよい」、と言われたことがあるのですが どれの事だか忘れてしまいました。 Sub test() セルのA1~A10に1~10を入力する i = 1 Do While i < 11 Worksheets("Sheet1").Cells(i, 1).Value = i i = i + 1 Loop End Sub これは一般的だから使ってもよいと思います。 Sub test() セルのA1~A10に1~10を入力する i = 1 Do Until i = 11 Worksheets("Sheet1").Cells(i, 1).Value = i i = i + 1 Loop End Sub これもよく見かけます。 Do While,Do Until以外にもloopステートメントってありますか? あと使わない方が良いステートメント、私の勘違いでなければ教えてください。
- ベストアンサー
- オフィス系ソフト
- nfrxwwbeca
- 回答数7
- access2007同一構造のテーブルを結合
複数の同一構造のテーブルを結合したいのですが、、、 下記サイトを見てユニオンクエリーとやらを使うまでは理解しましたが、 http://www.serpress.co.jp/access/no005.html 細部が理解できません。SQL文が理解できません。。。 ●テーブル1=saitama、テーブル2=chiba、テーブル3=tokyo、テーブル4=kanagawa ●フィールド内容=会社名/郵便番号/住所/電話番号/FAX/業種 と言う内容ならば、どの様なSQL文?を書けば良いのでしょうか?
- accessフォームチェックボックス→トルグ文字
(access 2003) (メインとサブがあり、メインフォームです。) フォームのチェックボックス(yes/no型)をコントロールの種類変更よりトルグボタンに変更し、 トルグボタンで入力しています。 yesなら、「仮」 noなら「普通」としたいと思い、下記の式を試して見ましたが、下記のようになります。 ページ移動ごとに凸凹は変わるのですが、トルグボタンに表記させている文字が「仮」から変わりません。 ボタンを押した時だけ「普通」に変わるのですが、ページを移動すると今度は「普通」ばかりの表記になってしまいます。 よろしくお願い致します。 Private Sub T2伝票仮_AfterUpdate() If Me![T2伝票仮].Value = True Then Me![T2伝票仮].Caption = "仮" Me![T2伝票仮].ForeColor = 255 Else Me![T2伝票仮].Caption = "普通" Me![T2伝票仮].ForeColor = 16711680 End If End Sub
- ベストアンサー
- その他MS Office製品
- hyolli
- 回答数4
- Access2007でサブフォームを再クエリする
==環境== OS:Windows XP Professional Ver.2002 Service Pack 3 Access 2007 マクロを使って下記の操作をしようとしています。 以前Access2000を使っていて使用できたマクロが、Access2007では動かなくなってしまいました。 このマクロをどう修正したらいいのかわかりません。 [1]フォームAに作られた一覧表(テキストボックスを使って表示している) ----------------------------------- 品名------金額a-----金額b-----合計 製品1----5000-------6000@------11000 製品2----4000-------3000-------7000 ----------------------------------- [2]そのうち明細が見たい箇所のテキストボックスをクリック ※この場合、製品1の金額bの明細を表示させたいので `@マークが付いているテキストボックスをクリックしています。 [3]サブフォームを持つフォームBが開く [4]フォームBの検索条件 テキストボックスの『品名検索欄』に「製品1」を入力 オプショングループの『金額区分』の「b」がON [5]フォームBを再クエリ ※フォーム上には再クエリボタンが設置されています。 サブフォームは「sub_form」という名前で配置されています。 ==2000でのマクロ== [3]から[5]について、以下のように作成しています。 (1)フォームを開く ・フォーム名:フォームB (2)値の代入 ・アイテム:[Forms]![フォームB]![品名検索欄] ・式:[Forms]![フォームA]![品名] (3)値の代入 ・アイテム:[Forms]![フォームB]![金額区分] ・式:2 (4)キー送信 ・キー操作:+{F9} ・待機:いいえ ==2007での状況== 2000で作成したマクロをそのまま使うと(4)が動かないようです。 フォームB上では品名と金額区分が入力されており、 サブフォームに表示されるはずのデータは空です。 フォームB上の「再クエリ」ボタンを押すとデータが表示されました。 試しに(4)キー送信を再クエリ(コントロール名:sub_form)に変えたところ 「カレントレコードには'sub_form'という名前のフィールドはありません。」 と表示されてしまいました。 このマクロをどう直したらいいでしょうか。 皆さん、よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- kiukiu5315
- 回答数2
- VBAでタブのページを削除するには?アクセスです
フォームにタブコントロールを置いて、ページを6つにして、コマンドボタンを置きました。 3から6ページをVBAで削除する事は可能でしょうか? (1・2は残したいです) 「ページを削除する」というVBAコードがわかりません。 Private Sub コマンド7_Click() Dim ctl As Control For Each ctl In Forms(Me.Name).Controls If ctl.ControlType = acPage Then Debug.Print ctl.Name 'ここでページを削除したい End If Next ctl End Sub あと、もしかしてデザインビューでないと削除できないですか? であれば、DoCmd.OpenForm Me.Name, acDesign を追加しようと思っています。 ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- igetanmzzt
- 回答数3
- 現在アクティブになっているオブジェクトを取得
現在アクティブになっているオブジェクトを取得する方法は?アクセスです Sub マクロ() DoCmd.MoveSize 0, 0 End Sub でフォームの位置を指定できますが、 現在アクティブになって言えるオブジェクトに対して行われますよね。 例えばデータベースウインドウを選択した後に実行すれば データベースウインドウに対して行われますよね。 そこで現在アクティブなオブジェクト名を取得したいのですがそのようなコードはありますか? DoCmdをウォッチ式に追加して観察しましたが 現在アクティブなオブジェクト名は表示されませんでした。 DoCmd.SelectObjectacForm,フォーム1 でアクティブにできる事はしっています。ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- AZGLMMFHTI
- 回答数1
- Access2007でサブフォームを再クエリする
==環境== OS:Windows XP Professional Ver.2002 Service Pack 3 Access 2007 マクロを使って下記の操作をしようとしています。 以前Access2000を使っていて使用できたマクロが、Access2007では動かなくなってしまいました。 このマクロをどう修正したらいいのかわかりません。 [1]フォームAに作られた一覧表(テキストボックスを使って表示している) ----------------------------------- 品名------金額a-----金額b-----合計 製品1----5000-------6000@------11000 製品2----4000-------3000-------7000 ----------------------------------- [2]そのうち明細が見たい箇所のテキストボックスをクリック ※この場合、製品1の金額bの明細を表示させたいので `@マークが付いているテキストボックスをクリックしています。 [3]サブフォームを持つフォームBが開く [4]フォームBの検索条件 テキストボックスの『品名検索欄』に「製品1」を入力 オプショングループの『金額区分』の「b」がON [5]フォームBを再クエリ ※フォーム上には再クエリボタンが設置されています。 サブフォームは「sub_form」という名前で配置されています。 ==2000でのマクロ== [3]から[5]について、以下のように作成しています。 (1)フォームを開く ・フォーム名:フォームB (2)値の代入 ・アイテム:[Forms]![フォームB]![品名検索欄] ・式:[Forms]![フォームA]![品名] (3)値の代入 ・アイテム:[Forms]![フォームB]![金額区分] ・式:2 (4)キー送信 ・キー操作:+{F9} ・待機:いいえ ==2007での状況== 2000で作成したマクロをそのまま使うと(4)が動かないようです。 フォームB上では品名と金額区分が入力されており、 サブフォームに表示されるはずのデータは空です。 フォームB上の「再クエリ」ボタンを押すとデータが表示されました。 試しに(4)キー送信を再クエリ(コントロール名:sub_form)に変えたところ 「カレントレコードには'sub_form'という名前のフィールドはありません。」 と表示されてしまいました。 このマクロをどう直したらいいでしょうか。 皆さん、よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- kiukiu5315
- 回答数2
- accessフォーム トルグ yes/no表示切替
access フォームにてトルグボタンでyes/noの表示を切り替える 単票フォームにyes/no型のチェックボックスがあります。 トルグボタンを押すとチェックしたものだけが表示され、ボタンを解除(押さなければ)すると 全件表示されるようにしたいです。 また、この単票フォームを開けた時は、常にボタンが解除されて全件表示の状態にしたいです。 下記の式だと、ボタンを解除してもチェックしたものだけの表示になり全件表示になりません。 よろしくお願いします。 ----------------------------------------- 単票フォーム名:T2伝票 トルグボタン名:トグル38 チェックボックス名:T2伝票仮 ----------------------------------------- Private Sub トグル38_Click() Dim strWhere As String strWhere = "([T2伝票仮] = True)" Me.Filter = strWhere Me.FilterOn = True End Sub
- ベストアンサー
- その他MS Office製品
- hyolli
- 回答数2
- VBAでタブのページを削除するには?アクセスです
フォームにタブコントロールを置いて、ページを6つにして、コマンドボタンを置きました。 3から6ページをVBAで削除する事は可能でしょうか? (1・2は残したいです) 「ページを削除する」というVBAコードがわかりません。 Private Sub コマンド7_Click() Dim ctl As Control For Each ctl In Forms(Me.Name).Controls If ctl.ControlType = acPage Then Debug.Print ctl.Name 'ここでページを削除したい End If Next ctl End Sub あと、もしかしてデザインビューでないと削除できないですか? であれば、DoCmd.OpenForm Me.Name, acDesign を追加しようと思っています。 ご回答よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- igetanmzzt
- 回答数3
- アクセス ステータスバーの文字を表示させたい
エクセルなら、 Sub Sample01() Application.StatusBar = True Application.StatusBar = "あああ" End Sub で、左下に文字を表示させられますが、 同じコードをアクセスで実行すると、「StatusBar 」の部分が、コンパイルエラーになります。 なので、 Sub Sample02() DoCmd.StatusBar = True DoCmd.StatusBar = "あああ" End Sub として見ましたが、結果は同じでした。
- フォームのサイズが指定した値にならない
accessです。 新規にフォームを立ち上げて Private Sub Form_Open(Cancel As Integer) DoCmd.MoveSize , , 10000, 10000 Debug.Print Me.InsideHeight Debug.Print Me.InsideWidth End Sub としました。 そうすると戻り値がそれぞれ 7365 17025 なのですが、 なぜ、 DoCmd.MoveSize , , 10000, 10000 で、10000を設定してるのに、 その通りにならないのでしょうか?
- ベストアンサー
- オフィス系ソフト
- KSWTWKNTIV
- 回答数1
- フォームモジュールだとエラーになる理由は?
http://okwave.jp/qa/q7837097.html でも質問した者ですが別の事がやりたくなってきちゃいました。 と言うのは、 ページのインデックスと同じ番号をページ名とページの表題に設定したいと思いました。 フォームにタブ0を置き、ページを5つくらいにしました。 その際、ページインデックスが0の時にページの名前はページ1になり、 ページインデックスが1の時にページの名前はページ2になり・・・ とひとつずつずれてるのを前回の質問で学習しました。 そしてさらにコマンドボタンを置いてそのコマンドボタンを押下すると ページインデックスの値を ページ名とページの表題に設定するVBAコードを作ったのですがエラーになってしまいます。 フォームモジュールに ********************************************************** Private Sub コマンド_Click() 'SetFocusメソッドはデザインビューでは使えない Dim ctl As Control Dim i As Long DoCmd.OpenForm "フォーム1", acDesign For Each ctl In Forms("フォーム1").Controls If ctl.ControlType = acPage Then Forms("フォーム1").タブ0.Pages(i).Name = "ページ" & i Forms("フォーム1").タブ0.Pages(i).Caption = i i = i + 1 End If Next ctl End Sub ********************************************************** としました。 これを実行すると Forms("フォーム1").タブ0.Pages(i).Name = "ページ" & i の部分で 実行時エラー 29054 「指定のコントロールを追加 名前の変更 または削除することはできません」 となります。 終了(E)しか選択できない状態でデバッグ(D)は選択できないです。 でも、これと全く同じコードを標準モジュールに貼り付けて実行すると問題なく動きます。 なぜフォームモジュールだとエラーになるのでしょうか? 2003でも2007でもエラーになります。 ご回答よろしくお願いします。
- ACCESS データベースオブジェクトの表示
会社で使用しているパソコンの中で、3台に同じツールを入れ使用しており動作については何も問題なく使用できているのですが、その中の2台のパソコンについてはファンクション11(F11)キー押下によりデータベースオブジェクト(テーブル、クエリ、フォーム、レポート・・・)を表示することができるのですが、1台はファンクション11(F11)キーを押下しても表示しません。 何か設定があるのでしょうか? オブジェクトの一部変更を行いたいのですが表示することができなく困っています。 回答よろしくお願いいたします。
- 締切済み
- その他(データベース)
- nodapapa
- 回答数2
- access フォーム1からレコードコピー
access2003 Win-XP フォーム1 データ1 コマンドボタン データ2 コマンドボタン フォーム2 テキスト フォーム1のデータを選択してコマンドボタンをクリックし、次のデータも選択クリックして フォーム2のテキストへ書き出す。ここへは追加され、複数のデータが書き込まれるように したいと考えています。 1つのデータを選択書き出しなら Private Sub コマンドボタン_Click() forms![フォーム2]![データ項目] = Me.データ項目 End Sub これでできますが、テキストにどんどん追加するにはどうすればいいでしょうか? VBの未熟者です。宜しくお願いします。
- 任意のタブのページをアクティブにするには
アクセス2007です。 フォームにタブコントロール(タブ0)を置きました。 テキストボックス(テキスト_ページ番号)とコマンドボタン(コマンド_移動)も置いたのですが、 コマンドボタンをクリックしたら、 テキストボックスに入ってる値のページ番号に移動するプログラムを組みたいのですが コードが分かりません。 例えば、テキストボックスに「2」と入力して、コマンドボタンを押したら、 ページ2が選択され前面に表示されるようにしたいです。 Private Sub コマンド_移動_Click() Me!タブ0.Pages(Me.テキスト_ページ番号.Value).SetFocus End Sub としてみたのですが、エラーになってしまいます。 ご回答よろしくお願いします。
- ACCESS データベースオブジェクトの表示
会社で使用しているパソコンの中で、3台に同じツールを入れ使用しており動作については何も問題なく使用できているのですが、その中の2台のパソコンについてはファンクション11(F11)キー押下によりデータベースオブジェクト(テーブル、クエリ、フォーム、レポート・・・)を表示することができるのですが、1台はファンクション11(F11)キーを押下しても表示しません。 何か設定があるのでしょうか? オブジェクトの一部変更を行いたいのですが表示することができなく困っています。 回答よろしくお願いいたします。
- 締切済み
- その他(データベース)
- nodapapa
- 回答数2
- 【VB】UPDATE SETについて
VB2008EEを使用してプログラミングを行っております。 現在、 Cm.CommandText = "UPDATE [マスタ] SET [回数] = WHERE [番号] = @idnum" Cm.ExecuteNonQuery() ↑このように記述しているのですが、[回数]の部分で行き詰まっています。 この「回数」の部分で 「元々回数に入っていた数値に+1をして上書き」 ということはできないでしょうか。 ご回答頂ければ幸いです。
- ベストアンサー
- Visual Basic
- y-h07
- 回答数1
- エーテル カルボン酸 エステル等と環構造
エーテル カルボン酸 エステル ケトン アルデヒド アミン ニトロ化合物 スルホン酸 と 環構造 についての質問です いままで私は カルボキシル基をもっていればカルボン酸 ケトン基をもっていればケトン と単純に考えていましたが 環構造の中に各官能基がとりこまれているケース 例えば O || C-C-O-C | | C-C-C-C はエステルといっていいのでしょうか? (Hは省略しています・このような物質があるかどうかはさておいての話です) また環構造に各官能基がくっついている形 O || C-C-C-C-C-O-C | | C-C-C-C はエステルといっていいのでしょうか? (Hは省略しています・このような物質があるかどうかはさておいての話です) 調べても分かりませんでした。 自分でもいろいろ考えました (言ってもいいor鎖についているケースのみ言うorそういう物質はないから問題は生じないetc.) がわかりませんでした。 おしえてください。 またエステルの場合とカルボン酸の場合はちがう…などがありましたら そのケースごとに教えてください