1read 100read
2013年17ビジネスsoft9: Access総合相談所 26 (284) TOP カテ一覧 スレ一覧 2ch元 削除依頼
ソフトの不正コピーのチクリ先 (360)
いいFaxソフト教えて (394)
トレンドマイクロのウィルスバスター2001 (327)
生産管理ソフトはどうしています? (415)
Access2000+SQL Server難しい・・・(´д`;) (174)
MS OfficeXPの次の新MS Officeについて (121)

Access総合相談所 26


1 :2012/10/01 〜 最終レス :2013/09/23
ACCESSに関する質問はこちらへ
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★ OS、ACCESSのバージョンを明記してください。
★ 質問内容は具体的に書いてください。
  ・何がしたいのか
  ・どんな処理を試したか
  ・動作状況など駄目な理由
  テーブル/フォームの構成、クエリ、VBAの内容など差し支えない
 範囲で詳しく書くと、早く回答が得られるかもしれません。
  図解があれば尚良し。
  聞き返さなくても詳細が把握できる質問が望ましいです。
★ 事前にヘルプ・Google等で調べられる範囲は調べてください。
  大概の疑問は検索することで解決します。
★ アドバイスを貰ったら、必ず経過・結果の報告をして下さい。
  ギブアンドテイクで情報を共有しましょう。
▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境  】 Windows**, Access**
【 VBAが使えるか 】 はい・いいえ
【 VBAでの回答  】 可・否
【 検索キーワード 】 Googleやヘルプでの検索キーワード
前スレ
Access総合相談所 25
http://toro.2ch.net/test/read.cgi/bsoft/1317981947/

2 :

Access Snapshot Viewer
http://www.microsoft.com/ja-jp/download/details.aspx?id=13911
http://download.microsoft.com/download/7/c/f/7cfc3214-1cbd-4271-934a-de487f258ab1/snpvw.exe


3 :

Access 2007 Runtime
http://www.microsoft.com/ja-jp/download/details.aspx?id=4438
http://download.microsoft.com/download/9/9/6/996A2380-2842-43F0-BA8A-F80133E6E961/AccessRuntime.exe
Access 2007 Runtime SP3
http://www.microsoft.com/ja-jp/download/details.aspx?id=27835
http://download.microsoft.com/download/9/A/A/9AAFBFA1-EE9A-4433-B736-BEE4828BFFB3/accessruntimeanddataconnectivity2007sp3-kb2526310-fullfile-ja-jp.exe
Access 2007 Developer Extensions
http://www.microsoft.com/ja-jp/download/details.aspx?id=24569
http://download.microsoft.com/download/5/B/6/5B60D875-AB8D-413C-83B3-175DABC4169B/AccessDeveloperExtensions.exe

4 :

Access 2010 Runtime
http://www.microsoft.com/ja-jp/download/details.aspx?id=10910
http://download.microsoft.com/download/F/6/7/F67EF9AC-4662-4443-9715-27ABA187FB2C/AccessRuntime.exe
http://download.microsoft.com/download/F/6/7/F67EF9AC-4662-4443-9715-27ABA187FB2C/AccessRuntime_X64.exe
Access Runtime 2010 Service Pack (32 ビット版)
http://www.microsoft.com/ja-jp/download/details.aspx?id=26601
http://download.microsoft.com/download/5/E/9/5E941689-BE78-4383-BD83-D1C67BB5E7AC/accessruntime2010sp1-kb2460015-x86-fullfile-ja-jp.exe
Access Runtime 2010 Service Pack (64 ビット版)
http://www.microsoft.com/ja-jp/download/details.aspx?id=26602
http://download.microsoft.com/download/0/F/A/0FA484D3-AD60-4ADA-9FD9-E534B0960B80/accessruntime2010sp1-kb2460015-x64-fullfile-ja-jp.exe

5 :
桐にしとけ

6 :
>>1
すれたて乙

7 :
Access2007(SP1)で作ったaccdbファイルについて、Access2010(SP1)で一回でもVBAを編集すると、
編集したaccdbが元の2007で開けなくなる症状が出てます。
(VBAエディタで何も弄らなければ問題なし。コード修正orコンパイルしたら症状再現)
まさに下記の内容なんだけど・・・
-----------------------------------------------------
http://support.microsoft.com/kb/2734523/ja
Access 2010 上で上書き保存したマクロオブジェクトが、Access 2007 で編集できない
Access 2010 で上書き保存を 2 回以上行ったマクロ オブジェクトを含む accdb ファイルは、Access 2007 で開くことができない、
あるいは、マクロをデザイン ビューで開くことができません。
この現象は、Office Access 2007 の Service Pack の適用状況により現象が異なります。
Office Access 2007 RTM リリース版および ServicePack 1 の場合 :
accdb ファイルを開くと、次のエラーメッセージが表示され、accdb ファイルを開くことができません。
データベースの形式 'path\file_name' を認識できません。
--------------------------------------------------------------------------------
回避策としてmdbに変換するほかに、
マクロオブジェクトの編集をAccess2010で行う、とあるけど
これって、「既存のAccdbファイル内のマクロをAccess2010で開き、編集する」
という意味かな?
私も、上記作業明日試してみて報告します。
何かしらの情報がありましたら是非教えてください。

8 :
>>7
そのKBでいうところのマクロはAccessの"マクロ"のことを指していて
VBAマクロのことをいっているのではないよ。
デコンパイルスイッチいれて2007で開くといいんでない?
Access2010SP1と2007を含むAccess2010RTM以前だと、
VBAのバージョンが違うからじゃね?

9 :
試してみました。
1 Access2010上でマクロの保存し直し(マクロ削除もやってみた) →Access2007で「認識できない形式です」
2 デコンパイルオプションで2007で起動 →起動せず(認識できない)
3 2010でaccdb→mdbへ変換 → 変換できず(新機能がうんぬん)
4 2010で空のAccdbを作成(オブジェクト一切なし) →起動せず(認識できない)
5 Access2010で新規の空mdb作成し、accdbの全オブジェクトを手動でmdbへコピー
 →2010・2007ともに起動する。
 →2010上ではクエリー内のフィールド名がおかしくなった不具合が出るものの、ほかは特に問題なし
 →2007上では不可解なエラーが頻発(フォーム内の非連結フォームで「#Name?」。クエリー内のLeft関数が「使用できないオブジェクトです」)
他はともかく3はちとやばいし、世間的にもでかい問題になってしまうような気が・・・
正確なVerまでは抑えてきませんでしたが、2007・2010ともにサービスパックは1を適用済です。
2010のほうは確か「14.0.6123.1000」だったかと

10 :
>>9 訂正
 他はともかく”4”はちとやばいし、世間的にもでかい問題になってしまうような気が・・・
 → SPの兼ね合い等が絡んでいるんだろうけど、下位互換性なしということになってしまっている
5については、Access2010上では一つのクエリーでフィールド名称が「式1」になってしまったが、
手動で直した結果全ての機能が問題なくなった。
それが2007ではエラーが多発。

11 :
>>10
本当に2010→2007間だけで発生しているのか? 別PCの2010でも問題が発生するんじゃないの?
恐らくだが関数名や変数名にヤバイものがあるんじゃないの?
古い情報で悪いが、2000〜2003で関数名が全角英数とか数字始まりだと別環境に持っていくと動かなくなることがあったよ。

12 :
2007と2010は、当然それぞれ別のPC上で作業しているんでしょうね?
症状やエラーメッセージからすると、別バージョンを同一機上に混載してる系の気がするんですが。

13 :
レスありがとうございます。
>>12
もちろん、2007と2010は別PCです(2007=NEC機Vista、2010=富士通機7)
2010は新品ほやほやです。
>>11
別マシンの2010でも症状が起きるかは検証していません。
関数や変数名ですが、むかし全角数字とか全角括弧とか全角アンダーバーとかで痛い目を見たので
それらの使用はしていません。全角はひらがなと漢字は確かにあります。
けど、全く何のオブジェクトもないまっさらのaccdbすら2007で認識しないという現象が説明できないんですよね。
当初は2007と2010でのVBの参照設定のVer違いとかに原因があると思っていたんですけど
モジュールどころかテーブルすらないaccdbで障害がおきるとなると、そういう問題ではないと思うので

>>12

14 :
書き忘れ
今のところ、2010か2007のどっちかのバグという線で動いています。
2007環境で開発作業すれば回避はできると考えているので、
致命的に困っていると言うわけではありません。
(開発時にしち面倒くさいですけど)
明日、別マシンの2010で動くかどうか試してみます。
一応、こういうこともあるということで

15 :
まぁ、おちついて問題の切り分けをだな進めておくれ。

16 :
2010→2007は確かにあるな。2010でいじくるの怖くなっちゃってる。

17 :
ふつうは2007→2010だろ。
バージョン混在環境なら、古いバージョンで開発が当たり前じゃないの?

18 :
まぁその当たり前のお作法をだな単なる個人の願望で逆方向も可能にしとかなきゃ大問題だろ!とクレーマられるわけだ。
少しいじれば「ははあぁん、これはエクステンション同じでも別物だな」と、pdfやjpgjpegやらで散々懲りてる人なら警戒するんだろうが。

19 :
2010でフォームいじったら2007で開かなくなったぞ
互換性ないじゃん

20 :
検証結果。PC3台使用(Vista&2007が1台、7&2010が2台。構成は同じでSP1)
レジストリなどの端末環境依存かどうかを調べるために、2台の2010で3パターンで空accdbを作り実験。
   PC  Ver  User 空Accdbを作った環境と起動確認
 1 おれ 2010 おれ 1作→○、2作→○、3作→○
 2 おれ 2010 同僚 1作→○、2作→○、3作→○
 3 同僚 2010 同僚 1作→○、2作→○、3作→○
 4 同僚 2007 同僚 1作→×、2作→○、3作→○
俺のPCで、同僚のログインで作成した空Accdbと俺ログインのそれとで結果が変わったことから、
ということで、レジストリというよりも、ユーザプロファイル的な部分が原因のように見えました。
 次に、俺PCで同僚ログインのまま、空accdbを作り、そこに2007で認識しないといわれているAccdbの全てのオブジェクトをコピーし、
  a:コピーした状態のまま(デフォ)
  b:Accessのオプションで「データベースの並び替え順番」をデフォの「日本語」から「一般」に変更
  c:Accessのオプションのその他の項目を、俺環境のものと同じ設定に変更する。
  d:VBAのコードを上書きする
という4つのAccdbを作り、1から4の環境で起動させたところ、a〜d全て4の環境で「認識できません」エラーがでました。
(その後、改めて2の環境で空Accdbを作りなおしましたが、4の環境では変わらずに起動成功しました)

21 :
続き
んで、2の環境で気になる現象が出ました。
不具合が出ているAccdbの原本を2の環境で起動させ、最初にセキュリティ警告のメッセージバーが出たので、OKボタンを押したら
 「選択した照合順序はサポートされていません」または「認識できないデータベース形式」
が出ました。(OKを押したら信頼できる場所の設定をするか否かのダイアログボックスが出てきました。)
http://support.microsoft.com/kb/184988/ja
によると、「別の言語エディションの Microsoft Access で作成されたデータベースまたはデータベース内オブジェクトを開こうとしています。」
と出ており、OSの言語とAccdbの言語が不一致だからオープンできない、みたいな意味に見えます。
おそらく、これが2010で作ったAccdbファイルが2007で開かなくなるときがあるという不具合の原因なんでしょうが
どこをどう手をつければよいかわからず、うちのサポセンもお手上げ状態になったので
職場の全てのPCが2010環境に統一されるまでは2007で暫定的に開発を継続することで対処することとしました。

22 :
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね
創・価
死・ね

23 :
【 システム環境  】 Access2010
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 cdate 曜日
日付のマッチングがどうしてもうまくいかず、調べると
システム日付(Windowsの「短い日付の設定」)が2012/10/09(火)の
ように曜日を入れていたのが原因でした。→yyyy/mm/dd '('ddd')'
このためAccess内の日付書式が12-10-09だったとしても、日付型として
変数を参照する段階で勝手に曜日書式付Stringに変換され、しかも
日付型に再格納するにも解釈不能で型エラーということになっていたようです。
通常使う分にはOSレベルで曜日付きも便利ではあるので活かしたいとはおもいますし
配布するのに相手環境にも左右されたくないのですが、対応策は
どのようにすればよいでしょうか?

24 :
補足ですが、テーブル・クエリ・リストボックスでは12-10-09という
書式による表示だったとしても、VBでリストボックス.valueの内容を
確認すると、その中身は「短い日付の書式」と同じものとなっています。
つまり日付型フィールドである故に「短い日付の書式」になるのはいいが、
内部的な比較でもシリアル数値ではなくWindows設定に従った取扱いを
行っているようで、日付型として再解釈できなくなっており、
正直よくわからない仕様で困惑してます。

25 :
連投すみません。12-10-09となっているリストボックス.valueの内容が
すでに2012/10/09(火)となっており、そのために
date型 = Format([リスト].Value, "yyyy/mm/dd")が型一致エラーとなるため
Formatによる対策が通用せず困っていました。

26 :
日付を比較するなら#でかこめ、文字型なら左から切り取って変換しろとしか

27 :
日付型は日付型だろ、わざわざ文字列にして比較しないで日付型のまま比較すれば良いじゃん

28 :
>>27
リストボックス上は12-10-09、リストボックス.valueの値は短い日付の書式に従った
2012/10/09(火)となっているということは、少なくともリストボックスの表記文字列ではなく
選択行に対応したソース値から持ってきてはいるのでしょうが、
リストボックス.valueとして扱う時点でDateやObjectではなくStringになってしまうようです。
リストボックス.valueがコントロールの設定書式に従うか、もしくは元来の型のまま扱えれば
よかったのですが。

また短い日付の書式が'('ddd')'の時、抽出条件などで#2012/10/09#と入力しても
勝手に#2012/10/09(火)#と変えられるくせに、日付型に#2012/10/09(火)#と代入しようとしても
#2012/10/09(火エラーなどと解釈失敗します。
リストボックスの仕様、日付型(Cdate)の仕様という二問題の複合的な状況の様です。

29 :
>>28
yyyy/mm/ddの10文字プラス曜日が固定なら、常に左10文字だけを評価すればいいんじゃないの?

30 :
>>29
もともとがWindowsの「短い日付の書式」の設定内容にかかわらず
日付型として扱うすべはないかということだったので、決め打ちは考えてませんでした。
結局対処法としていくつか考えるなら、
・短い日付形式をプログラムによって強制書き換え
http://support.microsoft.com/kb/168793/JA
・日付型の書式設定をいくつか想定してCase分け
・リストボックスのソース値をDlookupして日付型同士で直接比較(未確認)
そして
・短い日付の書式はそもそもいじらせない
というのが一番確実の様ですね。
.netだったらリストボックスもObject型やValuemenberつかえたのでしょうが…

31 :
>>28
日付型のコントロールソースを直接比較に使えないの?

32 :
なにをしたいか、を書いてみては?
テーブルの中身が"yyyy/mm/dd(ddd)"で表示されると言っても、コントロールパネルで日付の形式を変えれば
テーブルの中身も同時に変わるはずなんだけど。 (Access起動したまま変えても大丈夫)
で、コンボボックスなりテキストボックスなりに"yy-mm-dd"形式で入力した値を元にサブフォームをリクエリする
とか、別フォームを開くとか、したいんだろうけど、 どれもふつうに動作する。
コントロールの書式は変えずに日付の形式変更しても、なんら問題無く動く。 もちろんフォーム上は"yy-mm-dd"表示のまま。
なんか無理やり面倒なことしてるような気がする。 ぐぐっと深〜くエスパーしてみてもどこが問題なのか見えてこない。
>>30 のMSサポートはAccess97のケースだし。

33 :
>>25から行くと、format関数を使った時点で文字列型にキャストされていると思うんだけど。当然
>date型 = Format([リスト].Value, "yyyy/mm/dd")
なんて成り立たないはずだよな。意味がわからん。

34 :
もう少し調べてみました。
Dim MyDate As Date
MyDate = #2012/10/1# これは日付形式の代入です
※ただし入力支援により直後に#10/1/2012#に変換されます。
MyDate = "2012/10/1" これは日付文字列の暗黙の型変換です。
MyDate = "2012/10/01(土)" 型一致エラー(日付型に文字列代入)
MyDate = "#2012/10/1(土)#" 型一致エラー(日付型に文字列代入)
MyDate = #2012/10/1(土)#  コンパイルエラー(日付型として解釈できない)
MyDate=[日付型がソースのコントロール]
これは実際のところ日付形式の代入ではなくて、日付を「短い日付の形式」により
文字列にしたものを暗黙の型変換しているようなので、もし「短い日付の形式」が
yyyy/mm/dd(ddd)となっていると、標準時と同じコードでもエラーとなります。
ですので[コントロール]の値を#でくくってもすでに日付解釈不能の文字列ならば無駄なようです。
>>31
SQLでWHERE T1.[日付]=T2.[日付]などはOKですが
[日付]=#2012/10/1(土)#や[日付]=フォーム.[リスト1]は無理のようです
>>32
>Access起動したまま変えても大丈夫
これは本当ですか?当方は変更の反映にはAccess再起動が必要でしたが。

35 :
>>33
25の時点では[リスト].Valueが文字列型ではなく
日付型のウォッチ用表示として短い日付形式で表されていると予想していたので
date型 = Format([リスト].Value, "yyyy/mm/dd")
は[リスト].Value(日付型)をyyyy/mm/dd書式の文字列型とし
暗黙の型変換として代入できるのではと期待してただけです。

36 :
Win7 + Ac2010 では再起動必要だった スマソ  Win7 + Ac2003 ではおkだったのでつい
で、なにやら検証もどきしてみたが、確かにリストボックスだと少し挙動が違ったりした
コンボボックスやテキストボックスとは微妙に表示形式とかが変わってるようだった
試しにとリストボックスから書式設定"yy-mm-dd"してあるテキストボックスへ放り込んだらyyyy/mm/dd(ddd)で変化しなかったものが
コンボボックスから同じテキストボックスへ放り込むと、yy-mm-ddで表示され、おやおや?と思い
再度リストボックスから放り込んでみたらちゃんとyy-mm-ddで表示されるようになったり・・
じゃあと、[テキスト]=Format(MyDate,"yy-mm-dd")とかで新規テキストボックスへ放り込んだら型不一致が出たり
ただ、リストボックスだとおかしな挙動あってもコンボボックスだと最初から問題無く望み通りの動作はした  なんか逃げ打つのが正解かも

37 :
【 システム環境  】 Access2010
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 Access vba 分析ツール ゴールシーク ソルバー
毎月一度、各種データを基に金額を出す途中の係数算出にゴールシークが必要です。
これまでExcelで行っていましたが、データ蓄積をAccessに集中したいので
Access上からExcelのゴールシークを利用したいのですが、オブジェクト変数を利用した
Excelリモート操作以外に、Access自体でゴールシークを利用できないでしょうか。

38 :
今気づいたんだけどAccess Clubがいつのまにか閉鎖されてる・・・なんえ?

39 :
>>38
HDDがブッとんだ

40 :
>>38
やっと気が付いたか

41 :
どこにも移転してないの?けっこうお世話になってたのに今後どうしよ・・・

42 :
>>41
知恵袋にhatenaさんが居る

43 :
仕入れ管理でアクセス2003で作成したシステムを10名程で使用しています
このシステムに新しい機能を付けようと思うのですが
Windowsのパッチのように機能追加って出来るのでしょうか?
今までは、
オリジナルに機能追加した修正版を作る→オリジナルを使わないでもらう→オリジナルに修正版の
コードなどをコピペする→オリジナルをバックアップフォルダへ移動して修正版と差し替える。
みたいな感じでやってます。

44 :
>>43
差替えるオブジェクト(クエリとかフォームとか)を別のmdbに詰め込んで、
コピーするモジュールなりマクロを付けて配布すれば良いんじゃないかな?

45 :
>>43
Accessをフロントエンド部とバックデータ部に完全に分離して
ユーザにはフロントエンド部のみを配布
で普通にできると思うよ。
というか俺はそれでやっている。
フロント部は社内の掲示板に載せておき
フロント部とデータ部にバージョン情報を持たせ
ユーザがフロントエンドを起動したときにデータ部の”最新”Verとを比較し
古ければユーザに最新版へのアップを促すようにしているから、楽してるよ

46 :
【 システム環境  】 Windowsxp, Access2003
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 OLEサーバー 登録 再セットアップ エラー
クエリでフォームでの入力による検索(抽出)という簡単な機能をつけたいです。
うまくいってたのですが、フォームでコマンドボタン検索実行や検索リセットを押すと
「oleサーバーとアクセスするときにエラーが発生しました。
oleサーバーは登録されていません。
oleサーバーを再セットアップしてください。」
というようなエラーが出るようになりました。
一度フォームをデザインビューで開いてからフォームビューに切り替えたときはちゃんと動きます。
どなたか原因と直し方を教えてください。

47 :
ぐぐれ そのキーワードでまんま山ほどヒットするだろ  MSサポでもご丁寧な手順書いてあるだろ 日本語で

48 :
>>46
パフォーマンスの最適化やったら直ったようです
失礼しました

49 :
やっぱ直ってなかったです。
散々ググってますが解決できないです。
はじめはクエリAを元にフォームを作成したんですが、後に作成したクエリB(クエリAに抽出条件をつけたもの)でも大丈夫かとレコードソースをクエリBに変更してクエリAは削除してしまったんですが、それがまずかったんでしょうか

50 :
ったく、 エラーメッセージでぐぐれよ 自分の思い込みのキーワードでなくて
それで解決できなきゃAccessやめたほうがいいぞ  前途多難過ぎるわ
http://support.microsoft.com/kb/896865/ja  ここは見たんか?  そもOLE使ってんのか?
http://support.microsoft.com/kb/889262/ja

51 :
ole調べても分からないですが、エクセルやワードやグラフとか難しいのは何も使ってません
初心者の参考書に載ってるシンプルなただの抽出です。アレンジで他のサイト見ながらor is nullみたいなのはつけました
オフィス再インストールしました。変わりませんでした
レコードソースをクエリBにしてもクエリAが残ってるとちゃんと動くみたいです
よく分かりません

52 :
つーかスキルが無いなら古いOSとソフトなんか使うなよ
サポート自体終わってるんだから、ソフトの側に問題があっても対処出来るとは限らん

53 :
そのmdb自体が壊れてんだから、新規に作り直してみ
テーブルも真新しいデータにしてクエリもイチから作る クエリAを無視してクエリBだけで試してみる
フォームもまっさらなとこから必要なコントロールだけ配置してひとつずつテストする
それらのひとつひとつの意味を理解しながら作ってかなきゃ、基礎も出来てないうちにアレンジなんて
蹴躓く原因を自分でつくってるようなもんだ  いつまで経っても泥沼から抜け出せない
OR Is Null だけが原因じゃ無いんだろ、アレンジしたほかの部分があるはず

54 :
起動中のAccessのバックエンドデータ部のバックアップを取り、
それをWindows標準の「送る」でZip圧縮したい。
バックアップの方はできたんですが
Lhacaとか外部DLL使わないでZip圧縮することは可能ですか?

55 :
Windowsがzipをサポートしてるなら送り先にzipも選べるだろ

56 :
MukkuMukuさんへ
2012/10/28 の記事、本文中の画像?がリンク切れかなんかで表示されません

57 :
>>56
向こうのコメントに書けよ。
ちなみに今見たら画像は出てたが。

58 :
あー、申し訳ない。アップロード先間違ってたわ。ごめんね。
コメント入れてくれたらいいのにな。

59 :
ぼすけて力尽きた…
【 システム環境  】 WindowsXP, Access2000
【 VBAが使えるか 】 微妙にはい
【 VBAでの回答  】 可
【 検索キーワード 】 クエリ結果 カレント フィールド 取得 Dlookup他
ツールバーに追加して使う形のVBAモジュール@マクロで
現在表示されているフォームからカレントレコードのフィールド
の値を取得してその値を元に他のフォームを表示する、
strTemp = Forms![フォーム名].[フィールド名]

DoCmd.OpenForm〜
というのをそのフィールドさえ有ればどんなフォーム/クエリ結果
からでも動くようにしようと思い、紆余曲折して
strTemp = Screen.ActiveDatasheet.Controls("フィールド名")

DoCmd.OpenForm〜
で、表示されているのがフォームであれば動く所まで来たのですが、
クエリ結果を直接表示している場合動きません…
DlookupはScreen.ActiveControl.Nameが取得できず断念。
表示しているクエリ結果からカレントレコードの特定フィールドの値を
取得する方法を御教示お願いします。

60 :
カレントレコードってのはマクロを使うんだろ

61 :
Screen.ActiveDatasheet.OnCurrent げふんげふん、、、

62 :
ウソですAA(ry
ごめんなさいごめんなさいごめんなさい…
今試したら動いてますorz
どこか他が間違っていたらしい…
>>60
プロシージャの実行でVBAを呼ぶマクロを作り、ツールバーに入れて使ってます。
>>61
これをググってたらこんなの見つけました。
intCurrentType = Application.CurrentObjectType
strCurrentName = Application.CurrentObjectName
Application.CurrentObjectNameで名前が拾えたので、Dlookupも使えたリするのかも。
スレ汚し失礼しました…

63 :
おまけライブラリで使っていたカレンダーオブジェクト、新しいAccessでは
参照設定できなくなってしまった。
なにか代りはありますか?

64 :
http://msdn.microsoft.com/ja-jp/library/office/gg251104.aspx

65 :
【 システム環境  】 Windows7, Access2010
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 可
【 検索キーワード 】 連鎖更新 重複あり 複数
あるテーブルで2つのフィールドを主キー(重複あり)にしています。
その2つとリレーションシップでつなげている別のテーブルへ連鎖更新をかけるにはどうしたらいいすか。
参照整合性のチェックボックスは「固有インデックスが〜」となりチェックできず連鎖更新にチェックできません
初心者で申し訳ないですが困ってます。


66 :
>>64
ありがとうございます。頑張る うわぁぁぁ(>'A`)>

67 :
【 システム環境  】 Windows7, Access2010
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 自動補完、オートコンプリート
Access2010からプロパティ入力画面で自動補完機能がついたみたいですが、
これを止めることはできますか?

68 :
>>65
連鎖更新は取り扱いが面倒臭いから俺なら使わない
と言うかリレーションシップ自体使わない
主キーをを重複ありにするのも得策ではない
その理由の一つはあんたの質問文にも書かれている
>>67
多分はい

69 :
>>68
そうですか・・・。
式ビルダー画面ではちゃんと動きそうですが、プロパティシート上でいじると、
時々文字がちゃんと消せなかったり、ピリオドを打った瞬間に式が消えてしまったりと
不具合が多いので使いたくないです。
今後治ることを祈ります。

70 :
式ビルダーとかプロパティという事はデザインモードでの入力補間機能か
それだと俺の想像してたのと違うから別の人の回答も聞いた方がいいな

71 :
って質問にちゃんと書いてあったな
これは俺が早合点だ

72 :
IntelliSense (インテリセンス)のことなら 止められない on off はできない てのが前スレにもあったような
ItelliSense off とかでググって本家のフォーラム訪ねまくれば誰かがハックできたぞ!と書き込んでるかも
ま、例え有っても試さぬが吉とは思うけど

73 :
検索フォームを
ttp://jsajax.com/accessOtehon/Chapter4/CH4-5.aspx
を参考に作成しました。
↑のサイトの下の方にある
「複数のフィールドにフィルタ条件を設定してレコードを絞り込むには」
をタブコントロールではなく同じテーブル(orクエリ)のフィールド名をリストにした
コンボボックスを and検索であと2個並べて絞り込みがしたいのです、、、教えて。

74 :
追記
>コンボボックスを and検索であと2個並べて絞り込みがしたいのです
コンボボックス、cboCondition、txtValue1、2を
あと2つ and検索で下に並べcmdFilterボタンで抽出したいのです。

75 :
テンプレ忘れていました。失礼しました
【 システム環境  】 Windows7, Access2010
【 VBAが使えるか 】 かなり微妙に はい
【 VBAでの回答  】 VBAでの回答しかなければ仕方ないので可 
【 検索キーワード 】 複数コンボボックス 同じリスト 絞り込み 
よろしくお願いします

76 :
長いからよく見てないけどコンボボックスの値集合をフィールド名にして
AND条件でフィルタすりゃいいんじゃないの

77 :
>>73
ふ〜ん。ネット知識(笑)?

78 :
おいおいせっかくadpでばりばりアプリ作れるようになったのに
2013ではadpは非対応orz

79 :
>>78
2007でaccdpが出なかった時点で気づけよおバカw

80 :
2013の次はACCESS自体が無くなって、DB接続はEXCELに収斂されるんだっけか?

81 :
今のうちに逃げろ、桐に移行しよう

82 :
システム環境  Windows7, Access2003
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 可
【 検索キーワード 】 バージョンアップ
かなり基本的な事なのかもしれませんが。
ソフトウェアのバージョンアップ時の対応をご教授願えないでしょうか。
会社で前任者が作ったアクセスDBを使ってた人がいます。
帳票印刷程度で、外部DBとのリンク等難しい事はさほどしてません。
これはアクセス97で、OSはNTか2000の時に作られ、今はアクセス97でXPで動かしています。
来年PCリプレイスに伴い、上記システム環境に移行するのですが、テストしましたがエラー多発で動きません
ひとまず起動時のDBの変換でどうにかなればベターだと思いましたが、正常に動かないorエラーでまったく動きません。
例えば、97→2003といかず、97→2000→XP→2003と変換すればうまくいく可能性があるのか、それとも一部を修正すればよいのか、それとも一から作り直す必要があるのか(できればやりたくない)
よろしくお願いいたします

83 :
動くか動かないかはコードの内容次第じゃね
元が97というのが致命的だとは思うけど
元が2000ならおそらく変換無しでも動く

84 :
みんな累積的なアップデートどうしてる?
いちいち落とすのが面倒なつくりになってて躊躇われるんだが
結構重要な更新・修正も入ってるみたいで

85 :
>>83
82ですが、やはり作り直しを頼むしかないですか…

86 :
そのままでは動かないというだけで、エラーのコードをリライトすれば動くだろ

87 :
>>82
97→2000に変わったときユニコード化されたので、考えられる原因としては
コントロール、変数、ユーザー定義関数に半角カタカナが用いられているのではなかろうかと思います。
また、テーブルのフィールドをLen等の関数でカウントする場合は半角全角関係なく1バイトとしてカウントされます。

88 :
>>87
ありがとうございます。
参考にさせていただき、簡単なエラー物は直してみます。
ただ、年末で忙しく、複雑な物は外注に丸投げも考えないと時間が足りない…

89 :
▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境  】 WindowsXP , Access2003
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 削除 リスト 更新
aとbの二つのテーブルがあります。aには複数のフィールドがあり、bには1つのフィールドがあります。
aのレコードから特定のレコードを一括削除したいです。その条件は、aの特定のフィールドと一致するbのリストです。
色々検索したのですがやり方が分かりません。また重複クエリウィザードなどのウィザードがインストールされていないため使えません。
SQLの記述方法を教えて頂けないでしょうか?
宜しくお願いします。

90 :
DELETE a.*, a.[hoge]
FROM a
WHERE (((a.[hoge]) b.[hoge]));
こんなんでええのんか?
別に重複クエリウィザード使わずとも、SQLでなくとも、削除クエリっつーのでいけるんだが?
なんか物事面倒な方面倒な方と思い悩み過ぎじゃねーのか? 最近の質問そんなんばっか

91 :
>>90
ありがとうございます。
参考にして試行錯誤を行ったらできました。
検討違いな質問をして申し訳ありませんでした。

92 :
きょ、恐縮してんじゃねーよw こ、こっちが気恥ずかしいわw
いろはのい だから、ちゃんと基礎から覚えてみろや CD無くともヘルプぐらいは
読めるべ? それすら入ってなかったらBook Off辺りに行きゃあ2〜300円位で
売ってるだろ? 多少バージョン古くとも機能は殆ど変わらん 少なくとも基本はな
挫けずにひとつずつステップ・アップしていけよ 青年     余談だが、見当違いな  まぁ検討でもあながち間違っちゃいなさそうだがw

93 :
>>92
返信ありがとうございますw
そうですね、一からきちんと勉強してみます。

94 :
【 システム環境  】 WindowsXPSP3 , Access2000
【 VBAが使えるか 】 はい
【 VBAでの回答  】 否
【 検索キーワード 】 式に未定義関数 Mid があります 
          VBE6EXT.OLB を読み込めません
(1)db を別のpcにコピーしました。
(2)ACCESS でその db を使用すると ” 式に未定義関数 Mid があります ”が表示されます。
(3)ググると、参照設定 を変更すると直るようなので、Visual Basic Editor をクリックしました。
すると、”VBE6EXT.OLBを読み込めません" が表示されます。
VBE6EXT.OLB は存在してます。
(4)もとのpcは現在osが立ち上がりません。
よろしくお願いいたします

95 :
まず、最初の db ってのから意味が解らん

96 :
2013どうなってんだよ、オンプレミスじゃないと嫌

97 :
94 です
db はデータベース 、 拡張子mdbのファイル のことです。
access 再インストール で解決しました。
お騒がせして申し訳ありません。

98 :
Access2003〜2010なんですが
エクセル(VBA)のRecordsetの内容をCopyFromRecordsetでシートに貼付けみたいな感じで
recordsetからテーブルtoテーブルで、一発でコピーする方法はないですかね

99 :
なんか変な用語遣いだけど、クエリで充分だろ
RecordSet → Table → Table てことなんか?  まぁ、だとしてもクエリで済むが なにを聞きたいんだろ

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
PCゲー ゼビウス (147)
トレンドマイクロのウィルスバスター2001 (327)
医療関係のソフトおしえて (209)
【ソース】StarSuite7【サン】 (268)
【ソース】StarSuite7【サン】 (268)
オラクルってなに? めし? (158)
--log9.info------------------
●の調子が悪い (194)
●会社を訴えるスレ (525)
●にログインできないんでど・・・ (700)
てすとっていいよね (369)
てすとっと (416)
てすt (669)
●●●  ●出席簿  ●●● (369)
●●買ったので記念パピコ 2 (640)
●買った時はレスぐらいは書き込めると思ってた (103)
てすとてすとてすとてすとてすとてすとてすとてすとてすとてすとてす (490)
●●●●● (137)
●●●●●●●● (140)
●はじめました。 (633)
【重要】●の仕様が変わりました (276)
●買って良かった奴→ (116)
テスト (141)
--log55.com------------------
【27と30】[:]≡\| EF66 24 |/≡[:]【101番台】
JR東日本車両更新予想スレッドPart203
いちご・たま[和歌山電鐵貴志川線W81]ニタマ・よんたま
【中央リニア】品川駅part13【京急地平化】
JR東日本車両更新予想スレッド Part214
【人口激減】30年後に廃止されてる路線【鉄道離れ】
京阪電車スッレド Part202
///京急スレッド 355 ///