Access VBA質問箱 IV

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

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


82 / 500 ページ ←次へ | 前へ→

【11664】MDBでMDE風みたいな
質問  pon E-MAIL  - 10/5/26(水) 14:20 -

引用なし
パスワード
   こんにちは
よろしくお願いします

AC2003

サブフォームをデータシート形式で使用しています

MDBであれば、このサブフォーム上の
フィールドの入れ替えや列幅の調整がマウスで出来
再起動後もその設定を保持した状態で開きます

MDEにしてしまうと、MDEの起動中は上記操作は可能ですが
再起動後は、オリジナルの状態で開いてしまいます


Q1
MDEでも手動調整した設定を保持させることは、可能でしょうか
アドバイスよろしくお願いいたします

Q2
MDEの代わりにMDBのフォームを
・右上 ×ボタンの無効
・フォーム閉じるボタン設置 閉じるとき Application.Quit
・起動時の設定 DBウインドウ非表示、メニュー非表示
・モジュール保護
・ Shift キーバイパスの無効
とすれば、MDEに近い運用が可能なような気がしますが
他に注意すべき事項等とか、予想される不具合とか有りますか

アドバイスよろしくお願いいたします
・ツリー全体表示

【11663】VBAの文字列結合について
質問  白髪頭  - 10/5/26(水) 13:40 -

引用なし
パスワード
     koumoku1 = "=Forms![F-売上伝票]!単価"
  koumoku2 = "]"
  koumoku = koumoku1 & LTrim(Str(kaisu)) & koumoku2
    
1:    koumoku = tanka
2:    Forms![F-売上伝票]!単価1= tanka

1:はNG
2:はOK です

単価1・・・・単価10ある場合に次のようにループ文を作りたいのですが

kaisu=1・・・単価1 へ転記
・・・
kaisu=10・・・単価10 へ転記

1:の構文が違うのか、また、この様な記述は不可能なのか
知っている方がいらっしゃれば宜しくお願いします。
・ツリー全体表示

【11662】ありがとうございます。
お礼  ももんが  - 10/5/26(水) 10:20 -

引用なし
パスワード
   帳票形式でも、写真を表示させる方法があるんですね。
さっそくやってみます。
ありがとうございました。

写真のサイズは全く気にしていませんでした。
時間がかかるようなら、単票形式にして、
ボタンを配置してみます。
・ツリー全体表示

【11661】Re:サブフォームに写真を表示させる
回答  hatena  - 10/5/25(火) 17:10 -

引用なし
パスワード
   帳票フォームにパス&ファイル名から複数の画像を表示させたいのなら、

OleImage 関数 - 表形式(帳票)フォームにパスから画像を表示する方法
h tp://www.f3.dion.ne.jp/~element/msaccess/AcTipsFrmOleImage.html
・ツリー全体表示

【11660】Re:ハイパーリンクについて
お礼  オオガキ E-MAIL  - 10/5/25(火) 15:49 -

引用なし
パスワード
   小僧さんご丁寧にありがとうございます

返事が遅くなってしまい大変申し訳ありません


マップルではなく吉田くんと言うソフトでした
私もグーグルでいけると思ったのですが、グーグルマップなどの地図ではなく、その地図ソフトでないといけないらしく、吉田くんと言うソフトを作っている会社に問い合わせてみる事にします


ご親切にどうもありがとうございました
・ツリー全体表示

【11659】Re:ハイパーリンクについて
発言  小僧  - 10/5/21(金) 11:48 -

引用なし
パスワード
   ▼オオガキ さん:
こんにちは。

>もし全く見当違いの事を質問していたらすみません

・Accessのテーブルにゲームのタイトルが入っていて
 クリックしたらそのゲームが出来る様にしたい

・Accessのテーブルに動画のタイトルが入っていて
 クリックしたらその動画が見れる様にしたい

↑の様な質問は直接Accessに関係あると思われますでしょうか?
該当のゲームの仕様や、動画再生ソフトの問題であって
Accessとは関係ないですよね。


> マップルと言うソフトをリンクさせたいのですが

マップルというソフトが
外部のプログラムとの連携に対応しているのかどうか、
また対応している場合は外部のソフトは何を用意すればいいのか
が解らないとAccessからは何もできません。

h tp://www.mapple.co.jp/corporate/product/mappleg-sdk/index.html

有償のSDK(開発キット)もある様なので
外部ソフトとの連携には対応していそうですが…。


別のソフトの話になりますが
google のサービスでも地図ソフトが存在します。
地図を表示するには

h tp://maps.google.co.jp/maps?f=q&hl=ja&q="住所"

の様にURLを指定するというルールがありまので

1) AccessからIEを起動
  (もしくはWebBrowserControlを配置)

2) テーブルに格納された住所をURL欄に
  h tp://maps.google.co.jp/maps?f=q&hl=ja&q="住所"
  の様な形で指定

という流れで地図を表示する事が可能です。

この様な簡単な流れで地図を連携させる方法があるのかどうかを
マップルを販売している昭文社さん?に
ご質問されるのが近道かと思われます。
・ツリー全体表示

【11658】Re:サブフォームに写真を表示させる
発言  小僧  - 10/5/21(金) 11:18 -

引用なし
パスワード
   ▼ももんが さん:
こんにちは。

>親フォームに、トピックス
>サブフォームに、写真を複数(数は決まっていない)

画像の大きさなどにもよりますが
方法はいくつかあるかと思われます。

A) 単票フォームを使う
 画像を表示させるためのオブジェクトフレームは1つだけ配置し
「前へ」「次へ」等のボタンで表示を切り替える。

 いっぺんに表示する事はできませんが、
 画像を読み込む処理が1枚なので
 表示する時間を気にしなくてすみます。

B) 帳票フォームを使う
 サブフォームに帳票フォームを使用し、
 複数の画像を表示する事もできるかと思われます。
 ですが、

> 写真を複数(数は決まっていない)

 との事ですので、解像度が大きい、画像数が多い等の場合、
 画面を開くだけで相応の時間を取られる場合があります。


一案として、サブフォームの左側にリストボックスを配置して
選択できる画像のタイトルを表示、
リストボックスで選んだ画像がサブフォームの右側に表示される、
なんて方法もありかと思われます。
・ツリー全体表示

【11657】ハイパーリンクについて
質問  オオガキ E-MAIL  - 10/5/20(木) 16:32 -

引用なし
パスワード
   もし全く見当違いの事を質問していたらすみません

したい事は
フォームの住所記入欄とマップルと言うソフトをリンクさせたいのですが
ソフトとリンクを結ぶ事は出来るのでしょうか?

クリックなど簡単な事をすると住所欄に記入されている住所の地図が表示されている様にしたいのですが可能でしょうか?


教えて頂けると幸いです。
よろしくお願いいたします
・ツリー全体表示

【11656】サブフォームに写真を表示させる
質問  ももんが  - 10/5/18(火) 1:10 -

引用なし
パスワード
   トピックスに合う写真のデータベースを作成しています。
写真は、テキスト形式でパス&ファイル名を格納しています。

トピックステーブル 1に対して、
写真テーブルの写真は、多存在します。

調べると、単票形式で、1対1で写真を表示させる方法は見つけたのですが、
1対多で写真を表示させる方法が分かりません。

イメージでは、
親フォームに、トピックス
サブフォームに、写真を複数(数は決まっていない)
という風にしたいのですが、できるでしょうか?
教えていただけないでしょうか。
よろしくお願いします。
・ツリー全体表示

【11655】Re:データアクセスページについて
質問  へらぶな  - 10/5/12(水) 16:11 -

引用なし
パスワード
   お世話になります。へらぶなです。

▼YU-TANG さん:
追記ありがとうございます。

>上記だけでは動かなくて、OWC (Office Web Components) が必須なはず。

なるほど。OWCが必要なのですね。
ご指摘のKBで検索したところ、以下の情報がヒットしました。

参考URL:h tp://support.microsoft.com/kb/828950/ja


OWC部分のライセンス事項ですが、長いので要約すると、
「バージョンによっては(新しいバージョンならば)、
 対話モードでもOWCさえ入ってれば、OFFICEは必要無いよ。」
というところですかね。
これはYU-TANGさんが前レスで指摘されておられた内容ですね。

ところで、OFFICE2007でDAPはサポートされなくなったわけですが、
皆さんは、代替案として何を採用されておられるのでしょうか???

やはりASP.NETが一般的なのでしょうか。それともSharePoint Server?
もし、DAPからこう乗り換えた、っていう経験のある方が見えたら、
ぜひご意見を伺いたく。

よろしくお願いいたします。
・ツリー全体表示

【11654】Re:テーブル名を変更するマクロ
回答  超初心者  - 10/5/11(火) 9:11 -

引用なし
パスワード
   ▼エマ さん:
Private Sub sample()
  Dim myDATEstr As String
  
  myDATEstr = Format(Date, "_yyyymmdd")
  DoCmd.Rename "T_ADRESS" & myDATEstr, acTable, "T_ADRESS"
End Sub

または

Private Sub sample2()
  Dim myDATEstr As String
  
  myDATEstr = Format(Date, "_yyyymmdd")
  CurrentDb.TableDefs("T_ADRESS").Name = "T_ADRESS" & myDATEstr
End Sub

こんな感じで。

sample2はDAOへの参照設定が必要?かも^^;;


ついでに
Private Sub sample3()
  Dim myDATEstr As String
  
  myDATEstr = Format(Date, "_yyyymmdd")
  DoCmd.CopyObject , "T_ADRESS" & myDATEstr, acTable, "T_ADRESS"
End Sub
テーブルのコピーです。

参考までに・・・
・ツリー全体表示

【11653】Re:データアクセスページについて
発言  YU-TANG  - 10/5/11(火) 2:09 -

引用なし
パスワード
   こんばんは、YU-TANG です。

DAP はほとんど使わなかったので、うろ覚えなんですが。

>4.Accessがクライアントにインストールされている必要は無いが、
> アクセスする台数分ライセンスが必要。
>5.Internet Explorer(Ver5.0以降)が必要。

上記だけでは動かなくて、OWC (Office Web Components) が必須なはず。
OWC は単体でもインストールできますが、Office スイートのセットアップで
一緒に入るのが一般的と思われるので、現実的には Office がインストール
されていない PC では DAP は見れない環境が圧倒的多数と思われます
(Office はインストールしていないが OWC だけインストールしたという
マニアックな環境を除く) 。

また、OWC のバージョンによっては Office のライセンス チェックをして、
正規ライセンス保有が確認できないと静的モード (要は読み取り専用) でしか
DAP を使用できなくなります。この辺も要注意だった気がします。

分かりにくいので言い換えると、

1. OWC がインストールされていなければ、DAP は使えない (表示できない)
2. Office 製品が何もインストールされていなければ、DAP は読み取り専用になる (静的ライセンス)
3. 何らかの Office 製品 (Access に限らない) がインストールされていれば、DAP は全機能使える (対話モード)
ただし、
4. OWC のバージョンによっては、Office 製品のインストールに関わらず全機能使える (対話モード)

言い換えてもなお分かりにくいですね。
わたしのせいじゃありません。コロコロ方針変える M$ のせいですから。

詳細は「KB828950」辺りで検索すると出てくるはず。
かなりぁゃιぃ記憶なので、間違ってたらすみません。

それでは。
・ツリー全体表示

【11652】テーブル名を変更するマクロ
質問  エマ  - 10/5/10(月) 22:22 -

引用なし
パスワード
   T_ADRESS というテーブルがあります。
これをマクロを使って、T_ADRESS_20100510 というように、
テーブル名に今日の年月日を付随して、テーブル名を簡単に
変更するように作りたいのですが、よい方法はあるでしょうか?
・ツリー全体表示

【11651】データアクセスページについて
質問  へらぶな  - 10/5/10(月) 17:30 -

引用なし
パスワード
   お世話になります、へらぶなと申します。

件のデータアクセスページですが、最近使う機会があり、
調査しましたので、Access2007までの対応状況を自分なりにまとめて見ました。

1.Access2000〜2003まで
1.サポートされている。
2.IIS等のサーバー環境が不要。
3.IISが必要ない代わりに、共有フォルダにMDBファイルを
 置く必要がある。
4.Accessがクライアントにインストールされている必要は無いが、
 アクセスする台数分ライセンスが必要。
5.Internet Explorer(Ver5.0以降)が必要。
6.Accessの[ページウィザード]を利用すれば、
 特別な知識がなくても容易に作成することができる。

2.Access2007から
1.サポートされていない。

3.代替案
1.SharePoint Serverを使用する。

2.ASP.NET+各メーカーのDB製品(SQL Server,Oracle等)を使用する。


今のところ以上になります。

もし「ここが違うよ」とか「こういう情報もあるよ」とかございましたら、
追記、補記していただければ幸いです。
・ツリー全体表示

【11650】Re:ActiveXコントロールへのセッ...
お礼  こじこじ  - 10/5/6(木) 9:24 -

引用なし
パスワード
   小僧さん

ありがとうございます。
うまく処理が出来るようになりました。
解決致しました。
・ツリー全体表示

【11649】Re:AccessでのExcelシート操作で教えて下...
お礼  t_h_ben  - 10/4/30(金) 23:02 -

引用なし
パスワード
   ▼小僧 さん:

一旦Temp.xlsへのコピーは、以前にそのような方法があると教えて頂いたことがあり使っているもので、大きな意味はありません。
お教え頂いたSQLは不勉強で、どのように仕込めばいいのかわかりませんので、勉強してTryしたいと思います。
有難うございました。

>▼t_h_ben さん、超初心者 さん:
>こんにちは。
>
>> Excelからのデータは一旦Temp.xlsに吐き出し、
>> 2行目のデータをコピーし、
>> 別のワークブックのシートに「値貼り付け」をしたいのです。
>
>目的とその方法論の問題になるのですが、
>そもそも一旦Temp.xlsに吐き出す必要はあるのでしょうか?
>中間Excelファイルも必要だという場合は
>見当外れになりますがご容赦下さい。
>
>該当クエリの2行目だけExcelに張り付けたいのであれば
>
>SELECT TOP 1 T1.*
>FROM (SELECT Top 2 * FROM Q_Sales_Vol ORDER BY ソート順フィールド名 ASC) AS T1
>ORDER BY ソート順フィールド名 DESC;
>
>
>の様なクエリを作成すれば
>Access側で2行目だけのレコードを抜き出す事が可能です。
>
>このクエリを出力すれば
>Excelでのオートメーション操作は不要になるかと思われます。
・ツリー全体表示

【11648】Re:AccessでのExcelシート操作で教えて下...
お礼  t_h_ben  - 10/4/30(金) 22:56 -

引用なし
パスワード
   ▼超初心者 さん:

問題なく動作しました。
基本的なことのようで申し訳ありませんでした。
ご回答有難うございました。

>▼t_h_ben さん:
>
>コードを良く見てないですが、エラーの部分だけ^^;;
>
>> .selection.PasteSpecial Paste:=xlPasteValues '←ここでエラーが発生
> .selection.PasteSpecial Paste:=-4163
>
>としてみて下さい。
>(エクセルのイミディエイトウィンドウで ?xlPasteValuesを
>確認した数値です)
>
>記憶があいまいですが、xlPasteValuesなどのエクセルの定数を
>アクセスで使用するには、エクセルへの参照設定が必要だったかと。
>
>
>違ったらゴメンなさい^^;
・ツリー全体表示

【11647】Re:AccessでのExcelシート操作で教えて下...
発言  小僧  - 10/4/30(金) 18:30 -

引用なし
パスワード
   ▼t_h_ben さん、超初心者 さん:
こんにちは。

> Excelからのデータは一旦Temp.xlsに吐き出し、
> 2行目のデータをコピーし、
> 別のワークブックのシートに「値貼り付け」をしたいのです。

目的とその方法論の問題になるのですが、
そもそも一旦Temp.xlsに吐き出す必要はあるのでしょうか?
中間Excelファイルも必要だという場合は
見当外れになりますがご容赦下さい。

該当クエリの2行目だけExcelに張り付けたいのであれば

SELECT TOP 1 T1.*
FROM (SELECT Top 2 * FROM Q_Sales_Vol ORDER BY ソート順フィールド名 ASC) AS T1
ORDER BY ソート順フィールド名 DESC;


の様なクエリを作成すれば
Access側で2行目だけのレコードを抜き出す事が可能です。

このクエリを出力すれば
Excelでのオートメーション操作は不要になるかと思われます。
・ツリー全体表示

【11646】Re:ActiveXコントロールへのセッ...
回答  小僧  - 10/4/30(金) 18:14 -

引用なし
パスワード
   ▼こじこじ さん:
こんにちは。

>  Set myRecset = mydb.OpenRecordset("テーブルA")
>
>  Me![txt郵便番号] = myRecset![郵便番号]
>  Me![txt住所] = myRecset![住所]
>  Me![txt名前] = myRecset![名前]
>  Me![txtバーコード] = myRecset![カスタマーバーコード]

ご提示の方法ですと、先頭レコードのみの印刷になりますが
問題はありませんか?

それで宜しい場合は
レポート上に不可視のテキストボックスを置き、
バーコード値のセットはテキストボックスに対して行います。

バーコードについてはレコードソースを

=[不可視のテキストボックス名]

と指定すれば
バーコードの印刷は可能かと思われます。


ただし、複数件を表示されたいのであれば
出力用のワークテーブルを作成し、
連結レポートにする必要が出てくるかと思われます。
・ツリー全体表示

【11645】Re:AccessでのExcelシート操作で教えて下...
発言  超初心者  - 10/4/29(木) 23:04 -

引用なし
パスワード
   ▼t_h_ben さん:

コードを良く見てないですが、エラーの部分だけ^^;;

> .selection.PasteSpecial Paste:=xlPasteValues '←ここでエラーが発生
 .selection.PasteSpecial Paste:=-4163

としてみて下さい。
(エクセルのイミディエイトウィンドウで ?xlPasteValuesを
確認した数値です)

記憶があいまいですが、xlPasteValuesなどのエクセルの定数を
アクセスで使用するには、エクセルへの参照設定が必要だったかと。


違ったらゴメンなさい^^;
・ツリー全体表示

82 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1082653
(SS)C-BOARD v3.8 is Free