2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Access総合相談所 25

1 :名無しさん@そうだ選挙にいこう:2011/10/07(金) 19:05:47.93
ACCESSに関する質問はこちらへ

▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★ OS、ACCESSのバージョンを明記してください。
★ 質問内容は具体的に書いてください。
  ・何がしたいのか
  ・どんな処理を試したか
  ・動作状況など駄目な理由
  テーブル/フォームの構成、クエリ、VBAの内容など差し支えない
 範囲で詳しく書くと、早く回答が得られるかもしれません。
  図解があれば尚良し。
  聞き返さなくても詳細が把握できる質問が望ましいです。
★ 事前にヘルプ・Google等で調べられる範囲は調べてください。
  大概の疑問は検索することで解決します。
★ アドバイスを貰ったら、必ず経過・結果の報告をして下さい。
  ギブアンドテイクで情報を共有しましょう。

▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境  】 Windows**, Access**
【 VBAが使えるか 】 はい・いいえ
【 VBAでの回答  】 可・否
【 検索キーワード 】 Googleやヘルプでの検索キーワード

前スレ
Access総合相談所 24
http://hibari.2ch.net/test/read.cgi/bsoft/1287268291/

2 :名無しさん@そうだ選挙にいこう:2011/10/08(土) 18:46:37.01
>>1

前スレ1000だが間違えた。八桁テキストなら

式1:Format(フィールド名, "0000/00/00")

とかになるな。

3 :名無しさん@そうだ選挙にいこう:2011/10/08(土) 20:40:44.58
>>2

ありがとうございます。

式1:Format(フィールド名,"@@@@/@@/@@")で日付変換はできるのですが、/スラッシュの部分を-ハイフンで表示出来ないのです。


4 :名無しさん@そうだ選挙にいこう:2011/10/08(土) 20:47:38.82
ちなみに既にご指摘頂いているwindows2000を使用です。円マークをスラッシュに変更すればいけるように思ったんですが。

5 :名無しさん@そうだ選挙にいこう:2011/10/08(土) 22:18:04.22
>>4
Access2000を使っているのなら、素直にLeft、Mid、Rightでつなぎ合わせればいいんじゃないか?
別にバージョン移行したからといって、使えなくなるわけではないし。
たまたまバージョンのせいで使えなかっただけで、別解も得られたわけだろ?


6 :名無しさん@そうだ選挙にいこう:2011/10/08(土) 22:51:23.05
>>5
そうですね。スマートじゃないなと思ったんですが、できるには違いないのでそうしてみます。ありがとうございました。

7 :名無しさん@そうだ選挙にいこう:2011/10/09(日) 03:24:26.52
ほかのユーザーが同じデータに対して同時に変更を試みている ので、プロセスが停止しました。

8 :名無しさん@そうだ選挙にいこう:2011/10/09(日) 07:06:06.04
>>7
ドキッとした。
このエラー出てどうしようもなくなってアプリ作り直したことあるわw

9 :名無しさん@そうだ選挙にいこう:2011/10/09(日) 09:15:22.66
前スレ941解らん突破できん。

10 :名無しさん@そうだ選挙にいこう:2011/10/09(日) 13:03:45.96
もういいやめとけ。あんまり意味ない。
フォームが開けて更新できるっつんならだけど、バックエンドのパスワードが変わっちゃったという状態と同じじゃないか

11 :941:2011/10/09(日) 16:10:39.56
Access達人の皆様、検証願います

ユーザーにテーブルを見せない方法、フリーで流れてる家計簿アプリに入れてみた
(pathの操作が良く解らないのでディレクトリ固定、C:\DAT\ に置いて起動してください)
http://up1m.ko.gs/src/koups869.zip

これで突破や不具合がなければ完成です

12 : 忍法帖【Lv=40,xxxPT】 :2011/10/09(日) 16:15:15.28
明日当たり検証してみる

13 :名無しさん@そうだ選挙にいこう:2011/10/09(日) 18:49:24.84
>>11
みんなが得られるものはあるの?

14 :941:2011/10/09(日) 19:50:32.58
たびたびスミマセン、チョッチ修正しました
検証願います

(pathの操作が良く解らないのでディレクトリ固定、C:\DAT\ に置いて起動してください)
http://up1m.ko.gs/src/koups870.zip

15 :名無しさん@そうだ選挙にいこう:2011/10/09(日) 20:03:26.65
待ってろ、俺が突破してやる。
サーバーじゃないアクセスでテーブル隠匿なんて土台無理だろ。

16 :名無しさん@そうだ選挙にいこう:2011/10/09(日) 21:22:42.67
>>14
追ってたがテーブル見るのは諦めますた、検証後の種明かしキターイイ
それとそのアクセスウインドウ隠すのはどうやってんの?

17 :941:2011/10/09(日) 21:40:26.01
>>16
検証有難うございます

Access2010ならフォーム形式でOverLapped(タブじゃない方)を選んで最大化するだけで、
そのまんまWindows標準の OverlapWindowになります
加えてRibbonとNaviPaneを非表示にすれば格好が付きます
ショートカットで最小化起動するとさらに格好良くなります

18 :名無しさん@そうだ選挙にいこう:2011/10/09(日) 22:07:32.85
>>17
ほんまや、APIいらんのやね始めて知ったわ
ありがと

19 :名無しさん@そうだ選挙にいこう:2011/10/10(月) 01:02:17.31
>>前スレ941
金子由香里のメアドはさ、omanko@omanko だね
ちょっと品が良くないと思います。つーことで攻略は完了ということでいいかな?

20 :名無しさん@そうだ選挙にいこう:2011/10/10(月) 08:03:12.79
テーブル はほかのユーザーが排他的に開いているか、既にユーザー インターフェイスを介して開いているので、
プログラムによって操作することはできません。


うっかり機種依存文字ごとMySQLに読み込ませてリンクテーブル越しに文字化けした部分を直そうとしたら↑
おまけにレコードごと削除しようとしても↑
何をどうやっても↑
なんのことはない、MySQLを直接いじったら何の触りもなく消せた。
もうちょっと的を射たメッセージ出してよ…

21 :941:2011/10/10(月) 10:57:39.46
>>19
> 金子由香里のメアドはさ、omanko@omanko だね
検証有難うございます

はい、僅か三日で破られました
何か推測しやすくなってるとか、塞げる孔でしょうかね?
破ったヒント頂けたら嬉しいです

22 :19:2011/10/10(月) 11:40:56.39
>>21
>塞げる孔でしょうかね?
裏口叩いた的なことは一切してない。仕様だから塞ぐべき孔ということではない。
>破ったヒント頂けたら嬉しいです
検証に付き合ってくれて仕組みが判らないって言ってる人がいるのだから、
仕掛けを説明してその評価を受けるのが先ではないの?

23 :名無しさん@そうだ選挙にいこう:2011/10/10(月) 12:50:40.74
おおおーーー。
俺は突破法も対策も分かったぞー。
そこ弄られてたら落とすせばいい!
だが肝心の仕掛けがまだ分からん。これから。
つまらなくなるから種明かしはしないでね。>>941

24 :941:2011/10/10(月) 16:11:19.25
チョッチだけ対策修正しました、なかなか完成しないです…

ユーザーにテーブル見せない方法
http://up1m.ko.gs/src/koups875.zip
(相変わらずパス固定、バックエンドは C:\DAT\ に置いてください)
>>14 の家計簿の方も同じ対応で良いと思いますが、ファイル小さいこちらの方で

Q)テーブルに登録されている、藤巻陽子さんのメールアドレスは何でしょうか?


強度検証終わりましたら、これが突破されましたら、ロジックの批評や提案をお願いしたく思います

25 :名無しさん@そうだ選挙にいこう:2011/10/10(月) 16:35:17.90
>>24
osiri@osiri
もうやめとけ

26 :941:2011/10/10(月) 17:47:47.95
>>25
検証有難うございます

仕組みは単純で恥ずかしいのですが、
>> http://office.microsoft.com/ja-jp/access-help/HP005187453.aspx
> リンクされているテーブルのパフォーマンスを高める
> リンクしたテーブルをネットワークまたは SQL データベースで使用している場合、
> パフォーマンスを最適化するには、次のガイドラインに従ってください。
の最初に記載されてる方法を行っていました
空テーブルのリンクテーブルを作らずに直接OpenRecordsetしていました

>>25
どうやって藤巻陽子さんのメールアドレスを見たのでしょうか?

27 :名無しさん@そうだ選挙にいこう:2011/10/10(月) 19:13:56.65
なーるほど。。。

28 :名無しさん@そうだ選挙にいこう:2011/10/10(月) 22:51:23.48
穴塞げば行けるんじゃねーの

29 :名無しさん@そうだ選挙にいこう:2011/10/11(火) 08:44:58.89
載せられて種明かしてやんのアフォウだ。

30 : 忍法帖【Lv=40,xxxPT】 :2011/10/11(火) 13:26:05.50
見られて困る内容は暗号化して保存しとけ

31 :19であり25でもある:2011/10/11(火) 19:23:12.81
>>26
もうちょっと仕込みいれてたんじゃないか?。本題にはならないからまぁいいか。

DAOのBEへの接続は、なんというか共有とか再利用されるって感じだから、
接続された状態にあれば、パスワード知らなくても結構いろんなことができる。
Accessアプリケーション全体の仕様を不足なく捉えていないとこんなんなると思うよ。
とりあえずドドスコ重要ポイントはこれらにつきる。
それなりに効果はあったということだろうけど、まだ硬くすることはできるでしょ。費用対効果は別として。
つーか、Path固定はなんとかしろやと。

それにしても建設的なコメントがついてなくてちょっと残念だね。


32 :名無しさん@そうだ選挙にいこう:2011/10/11(火) 21:12:30.95
>>24
そもそも、全体の種を自ら明かさずに、人をつかって開発する
ってのは、俺のポリシーからするとちょっといただけないな。

俺も似たような実装しているけれど、自分で作り自分でハック
して確かめている。

なによりも、mdbやらaccdbなんかはパスワードハックのソフトウェア
で簡単にこじ開けられるから、はたしていかがなものか。

33 :941:2011/10/11(火) 22:01:45.59
>>31
アドバイスおよび度々の検証有難うございます
実は最後の書き込み直後に気づきまして…何という当たり前な って感じです
なんか変えられた場合はquitで、とか
> つーか、Path固定はなんとかしろやと。
それ全然、見当もつきません

>>32
開発とかじゃないんです、名簿管理してただけのシロウトで、知的好奇心のみです
旨く完成したら、実は中身はこうでした!(^^)! くらい
> なによりも、mdbやらaccdbなんかはパスワードハック
mdbは全部一瞬で開けれますが、2010accdbはハック出来てないと思います

34 :名無しさん@そうだ選挙にいこう:2011/10/11(火) 22:33:10.54
2010で作ったVBA用のaccdbファイルが2007で開けない、、、

「認識できない」っていわれるんだけど2010ランタイム以外に手はありますか?

35 :19であり25でもある:2011/10/11(火) 22:39:47.92
>>34
基本的に仕様だな。
2010からの機能とか全部外して新しいaccdbにインポートして確かめてみれ。
要はCurrentDb.Versionが12.0になるようにな。14.0になったらなんらか制限とか発生する
まぁいろいろ試せ。きっと君ならできる。多分な。おそらく。できるんじゃね?
デコンパイルしてから2007で試せよ。約束だぞ。

>>33
>なんか変えられた場合はquitで、とか
緻密にやらないとあっという間ですわ。

36 :名無しさん@そうだ選挙にいこう:2011/10/11(火) 23:37:12.78
>>35
そこまで面倒なことをしなくても2007でaccdbを作って全部のオブジェクトをインポートしたら読めた。
VBAの参照設定をその12.0とかに変えてやったらVBAも一応動いた。
これでも十分面倒だったけど、、、

とにかくありがとう。

37 :941:2011/10/11(火) 23:40:16.52
そのaccdbは、2010の新機能使ってなかったから、それだけで出来た

38 :名無しさん@そうだ選挙にいこう:2011/10/11(火) 23:55:33.37
知らぬが仏、というか2010の機能なんて全く考えずに2003の知識で作ってた。
知ってて2010の機能使ってたらドツボにはまってたなw端末のほとんどは2007だし。
ランタイム使えばいいんだろうけど使ったことないし不自由そうだし。

39 :名無しさん@そうだ選挙にいこう:2011/10/12(水) 08:47:37.42
>>35
只の知ったかだろ
半角数字とか学生の分際で早くも理系気取りかよ

40 :名無しさん@そうだ選挙にいこう:2011/10/12(水) 19:49:08.90
なにを言ってるのかよくわからない

41 :名無しさん@そうだ選挙にいこう:2011/10/12(水) 19:52:30.36
何か優越感みたいなものを持っているのだろう

42 :名無しさん@そうだ選挙にいこう:2011/10/12(水) 19:57:57.38
なにを言ってるのかわかった。
劣等感の塊の人の被害妄想でした。

43 :名無しさん@そうだ選挙にいこう:2011/10/12(水) 22:30:40.60
景気悪くてイラついてるんでしょ

44 :名無しさん@そうだ選挙にいこう:2011/10/13(木) 17:05:34.46
なんだ生理か

45 :名無しさん@そうだ選挙にいこう:2011/10/13(木) 19:58:46.56
景気悪いですねー。

46 :名無しさん@そうだ選挙にいこう:2011/10/13(木) 22:31:51.02
Win2000
Access2000ランタイム

この端末にAccess2003を入れたいのですが、何か問題点や注意点はありますか?
また、上記作業はAccess2000ランタイムをアンインストールし、
Access2003をインストールという手順を考えています。
この方法で大丈夫でしょうか?

よろしくお願いします。

47 :名無しさん@そうだ選挙にいこう:2011/10/13(木) 22:52:45.72
他の方法があるとは思えない

48 :名無しさん@そうだ選挙にいこう:2011/10/14(金) 00:27:38.35
〉〉47
回答ありがとうございます。

Windows2000にAccess2003をインストールするのはどうでしょう?

よろしくお願いします。

49 :名無しさん@そうだ選挙にいこう:2011/10/14(金) 00:38:51.58
〉〉47
回答ありがとうございます。

Windows2000にAccess2003をインストールするのはどうでしょう?

よろしくお願いします。

50 :名無しさん@そうだ選挙にいこう:2011/10/14(金) 03:07:02.28
>この端末にAccess2003を入れたいのですが
だから
>Windows2000にAccess2003をインストールするのはどうでしょう?
必須事項です。

51 :名無しさん@そうだ選挙にいこう:2011/10/14(金) 07:14:49.77
ありがとうございます。
Windows2000環境でのAccess2003の使用は問題無いか知りたかったのですが、
大丈夫と言うことでしょうか?

52 :名無しさん@そうだ選挙にいこう:2011/10/14(金) 09:40:37.87
Microsoft Office Access 2003 の必要システム
最終更新日: 2006年11月27日
Microsoft Office Access 2003 の必要システムを紹介します。


コンポーネント 要件
日本語版オペレーティングシステム
Microsoft Windows 2000 (Service Pack 3) 以上、Microsoft Windows XP 以上、または Microsoft Windows Vista

http://www.microsoft.com/japan/office/previous/2003/access/prodinfo/sysreq.mspx

53 :名無しさん@そうだ選挙にいこう:2011/10/15(土) 19:42:23.44
Access2003 です
宜しくお願いします。
Access 2003 です
テーブル名 omoikane
主キー: datetime
並び: 昇順
フィールド名 datetime  ymdhm   eur  usd    jpy    chf    gbp
実際のデータ:
datetime  ymdhm      eur    usd     jpy    chf     gbp
1221440400 2008.09.15 01:00 0.1409438 -0.5596544 0.1994319 0.06646993 0.152808
ymdhm の値で探索し、そのレコードが先頭テーブルから、何番目のデータかを知る、クエリを教えて頂けませんか。

54 :名無しさん@そうだ選挙にいこう:2011/10/15(土) 20:05:12.20
<=datetimeの条件でカウントすればいい

55 :名無しさん@そうだ選挙にいこう:2011/10/15(土) 20:53:01.13
>>54 Thxです
>>53 です
もう少し詳しく教えてもらえませんか
1. ymdhm を検索をおこなう
2. 1.で探索成功した場合、その時のdatetime の値を取得する
3. 2.で取得したdatetimeの値をもとに、<=datetaime になる行を求める
こんな感じでしょうか?


56 :名無しさん@そうだ選挙にいこう:2011/10/15(土) 21:14:57.28
やってから聞けよ

57 :名無しさん@そうだ選挙にいこう:2011/10/17(月) 01:39:41.44
ROWNUM 使えば?

58 :名無しさん@そうだ選挙にいこう:2011/10/18(火) 18:57:14.32
ひとつのMySQLのDBに対し2拠点(部門A,B)から接続。
端末側はAccessで作ったプログラムaccdb。ここからリンクテーブル越しに接続しています。
部門AからはテーブルA、部門BからはテーブルBへ。テーブルA,Bは同じ構造で、本来
一本化してコードで分けるはずがいろいろ不備があってとりあえず別々にすることに。

今後も制作が続くので部門AからXというリンク越しにテーブルAに、BからもXというリンク越しに
テーブルBに繋ぐ、というように接続先の違いをリンクテーブルの名を変更して揃えることによって
吸収してしまえばプログラム自体は一つで済む、と思いますが考え方間違ってますか?

59 :名無しさん@そうだ選挙にいこう:2011/10/18(火) 20:54:55.06
設定ファイルを忍ばせて置いて、それによってテーブルAだのBだのを制御させれば、プログラムは1本で済む

60 :名無しさん@そうだ選挙にいこう:2011/10/18(火) 23:31:57.06
>>58
リンク先を変えるほうが一般的じゃないのかな?

61 :名無しさん@そうだ選挙にいこう:2011/10/19(水) 13:27:16.60
>>59
レジストリでもいいな。

62 :名無しさん@そうだ選挙にいこう:2011/10/19(水) 22:56:44.31
リンク先のテーブル名を変えれるのか?

63 :名無しさん@そうだ選挙にいこう:2011/10/19(水) 23:52:40.89
リンクの名前を同一にしてリンク先のテーブルを変えるんだろう

64 :名無しさん@そうだ選挙にいこう:2011/10/20(木) 09:02:59.48
変えれるの?

65 :名無しさん@そうだ選挙にいこう:2011/10/20(木) 20:04:59.32
テーブル名は変えれないかと…

66 :名無しさん@そうだ選挙にいこう:2011/10/22(土) 00:04:49.26
ACCESS2003です。よろしくお願いします。初心者です。

クエリの抽出条件のところで、
@>500
A>[何以上?]  (500を入力)

@とAで結果が異なるんですが、なぜでしょう?
@だと正しく抽出できるのですが、Aだと500より大きい値と
100より小さい値が抽出されます。なおかつ1000以上は抽出
されていない・・・・。

67 :名無しさん@そうだ選挙にいこう:2011/10/22(土) 01:17:13.76
>>66
めんどくさいから試してないが、クエリのデザインビューで
右クリック>パラメータ

[何以上?] 数値型

と定義するといいと思われ。

68 :名無しさん@そうだ選挙にいこう:2011/10/22(土) 07:06:27.69
>>67
ありがとうございます!
さっそく今日試してみます!

69 :名無しさん@そうだ選挙にいこう:2011/10/23(日) 11:27:28.25
次期アクセスはVBAが廃止になって、ドットネットで操作します

70 :名無しさん@そうだ選挙にいこう:2011/10/24(月) 09:46:24.52
シンガポール軍は、作戦級C4IシステムとしてACCESSを使用してるそうです。
詳細、お願いします。

あの、Microsoft Office ですよね?

71 :名無しさん@そうだ選挙にいこう:2011/10/26(水) 09:04:21.08
Office2007SP3
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=0e40bbe7-1422-40ea-912d-2a29d709f93f

72 :名無しさん@そうだ選挙にいこう:2011/10/26(水) 14:53:54.26
WindowsXPSP3+Access2010+Access2000ランタイム

上記PC環境で、Access2010のモジュール内で
CreateObject("Access.Application")したら
エラー429(ActiveXコンポーネントを作成できません。)が発生したので
よくよく調べてみたら、どうやらランタイムに対してCreateObjectしようとしてる感じでした。

PC環境を変えずにAccess2010をCreateObjectする方法ってありますか?
ご存知でしたらアドバイスください、よろしくお願いします!

ちなみに、インストール順を2000ランタイム→Access2010としてもダメでした。。

73 :名無しさん@そうだ選挙にいこう:2011/10/26(水) 18:11:59.67
>>72
CreateObject("Access.Application.14")
を試してみれ
ダメだったら、混ぜるな危険ってことじゃね?

74 :72:2011/10/26(水) 20:00:55.72
>>73
なるほど、その手が!
どうもありがとうございます、なんかいけそうな雰囲気です!!
後日結果報告します!

75 :名無しさん@そうだ選挙にいこう:2011/10/28(金) 13:29:42.12
>>69
ソースは?

無いなら、Microsoftに問い合わせる。
お前が訴えれるまで、何かを続けるつもりだ。もうプリントアウト(7/7)は済んだぞ。

76 :名無しさん@そうだ選挙にいこう:2011/10/28(金) 13:40:24.27
次期バージョンにつきましては、公式に公開している情報以外はお答えすることは出来ません。
また、そのような非公式の情報に対して、如何なる根拠も提示することはしておりません。

77 :名無しさん@そうだ選挙にいこう:2011/10/28(金) 20:56:56.90
ACCESS2003で住所をMDBへ入れてるんですが、
クエリの作り方がわからないのでお知恵貸してください。

テーブル(myaddress)には、ID,住所1,住所2,住所3,住所4,使用回数があります。
住所1に都道府県が入っています。

別の処理で、住所の場所と取引があると、住所回数へ1をプラスしています。

都道府県だけを、重複なし かつ 使用回数の多い順番でソートして取り出したいです。

SQLビューでDISTINCTを使って重複なしはできたのですが、
ORDER BY を入れると「DISTINCTと矛盾しています」となりうまく行きません。

できれば一回のクエリで抽出したいのですが、どのようにしたら実現できるでしょうか?

78 :名無しさん@そうだ選挙にいこう:2011/10/28(金) 21:39:41.45
ORDER BY 句 <句> が DISTINCT 句と矛盾しています。(エラー 3093)

ALL 述語、DISTINCT 述語、または DISTINCTROW 述語と、SELECT ステートメントに含まれていないフィールドを含む ORDER BY 句で、SQL ステートメントを作成しています。DISTINCT 予約語を削除するか、示されたフィールドを ORDER BY 句から削除してください。

c 2010 Microsoft Corporation. All rights reserved.

79 :名無しさん@そうだ選挙にいこう:2011/10/28(金) 21:51:14.97
>>77
SELECT 住所1 FROM myaddress GROUP BY 住所1 ORDER BY SUM(使用回数) DESC

80 :名無しさん@そうだ選挙にいこう:2011/10/29(土) 15:03:33.35
>>78

情報ありがとうございます。
DISTINCT と ORDERの使い方がまだわかってないです。

>>79

おぉ!ぜんぜん思いつかなかった方法です。
ORDER BY の所に SUM(使用回数) を持ってくるのですね。

自分のMDBへ入れたら希望通りの動作になりました
ありがとうございました

81 :名無しさん@そうだ選挙にいこう:2011/10/29(土) 22:19:29.36
XPでACCESS2000のデータアクセスページをウィザードで作ろうとすると
「データアクセスページを作成できません」とエラーがでます
どうしたらよいのでしょうか?ご存知の方がおられれば教えてください


82 :名無しさん@そうだ選挙にいこう:2011/10/29(土) 23:35:30.84
>>81
フルインストしている?

83 :81:2011/10/30(日) 00:20:44.30
>82
はい、フルインストールしてます

84 :名無しさん@そうだ選挙にいこう:2011/11/03(木) 13:36:09.72
▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境  】 Windows7, Access2003
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 access 別データベース テーブル フィールドサイズ 変更

本体mdbとデータ用mdbに分けて、リンクテーブルで繋いで運用中です。
本体mdbからデータ用mdbのテーブルのフィールドの追加やサイズ変更をしたいということで
「ALTER TABLE テーブル ALTER COLUMN フィールド TEXT(10)」をExecuteしましたが
「リンクされているデータソースに対してデータ定義ステートメントを実行することはできません」
と言われてしまいました。

リンクテーブル先のフィールドサイズなどを変更させたい場合、何か別に方法はあるでしょうか?
ちなみに

strSQL = "ALTER TABLE " & "テーブル " _
& "ALTER COLUMN フィールド TEXT(10) " _
& "IN '' [Ms Access;PWD=" & strPass & ";DATABASE=" & CurrentProject.Path & "\データ用.mdb;] "

を試しましたが構文エラーでした。

85 :名無しさん@そうだ選挙にいこう:2011/11/03(木) 13:38:24.67
【 システム環境  】 Windows xp, Access2002
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 access パスワード 解除

vbaのパスワードかけられるらしいですが
なんか巷のツールで簡単に解除できるらしいのですが
強力なパスワードのかけかた知っている人いませんか?

86 :84:2011/11/03(木) 16:15:04.64
自己レスですが、DAOを使って何とかなりました。
参照設定をしなくてはいけなくなるので、DAOの使用は避けたかったのですが
他に方法がなければ仕方ありません。
解決してませんが解決しました。

87 :名無しさん@そうだ選挙にいこう:2011/11/03(木) 20:50:49.33
>>85
そもそもMDBだから問題が発生するんだろ。MDEにすればいいじゃん。
MDBは自分だけで管理。

88 :名無しさん@そうだ選挙にいこう:2011/11/03(木) 22:54:43.21
Access2010です。
acCmdUndo は、マクロビルダからどれを選べば良いですか?
結構探しましたが見つけられなくて困っています。

89 :名無しさん@そうだ選挙にいこう:2011/11/03(木) 23:27:41.64
>>88
アクションカタログに検索窓あるでしょ
「戻す」とかで検索しなよ

90 :名無しさん@そうだ選挙にいこう:2011/11/03(木) 23:51:13.76
なるほどmdeという手段があるのですね
やってみましたが編集できなくなるようですね
これでオレのたいしたことない技術も盗まれずにすむ

91 :名無しさん@そうだ選挙にいこう:2011/11/04(金) 00:00:31.66
>>90
さらに意地悪をしたいのなら、名前の変更で.mdeを.mdbの拡張子に変えて渡す。
アイコンが変わらないから、初歩的な知識しか持たない人にはまずわからない。


92 :名無しさん@そうだ選挙にいこう:2011/11/04(金) 00:08:48.52
>>89
有難うございます
確かにVBAに変換したらacCmdUndoになるものがありました
(マクロをVBAに変換操作すると、50%以上の確率で二度とaccdbを開けなくなる、2010SP1バグかな)

なんか勘違いしてました
目的は、Undoメソッドに相当するマクロを探してました
ないんですよね
結局、コントロールの更新前にUndoするにはマクロじゃ無理ですね

93 :名無しさん@そうだ選挙にいこう:2011/11/04(金) 00:36:49.88
>>86
参照設定が嫌ならレイトバインドすればいいんじゃない

94 :名無しさん@そうだ選挙にいこう:2011/11/04(金) 00:58:40.37
>>93
おっしゃるとおり、今回は下のように処理をしようと思っています。
ただ、DAOのバージョンを、これから先も末永く気にしなくてはいけないのが
ちょっとネックなのです。
このデータベースの管理は、いつか誰かに引き継がなくてはならないものですから。
(ひょっとしたら、データベースのコトをあまりわかっていない人に)

Private Function GetDAO() As Object
On Error Resume Next
Set GetDAO = CreateObject("DAO.DBEngine.36")
If Err.Number <> 0 Then
Set GetDAO = CreateObject("DAO.DBEngine.120")
Else
'DAOのバージョンが増えた時のために
End If
On Error GoTo 0
If GetDAO Is Nothing Then MsgBox "『DAO』のバージョンが想定外のため処理を中断します。"
End Function

95 :名無しさん@そうだ選挙にいこう:2011/11/04(金) 01:22:44.72
>>94
処理が増えることを見越してのコーディングなら、条件分岐はcase文のほうがいいと思うよ。
別に間違いだとかそういうわけではないけど。


96 :名無しさん@そうだ選挙にいこう:2011/11/04(金) 01:33:48.88
>>94
想定外で処理を中断するのなら結局コードの手直しをさせるってことだよね?
だったら参照設定にしておいて参照を変更させてもいいような…


まあ>>84はこうやれば出来ちゃうんだけどね

strSQL = "ALTER TABLE [" & CurrentProject.Path & "\データ用.mdb].テーブル " _
& "ALTER COLUMN フィールド TEXT(10) "

97 :名無しさん@そうだ選挙にいこう:2011/11/04(金) 01:39:53.16
あ、ごめんsageてなかったわ

98 :72:2011/11/04(金) 11:58:09.83
>>74
遅くなりました、すみません、ダメでした。。。
やはり混ぜるな危険のようです、無念...orz

99 :96:2011/11/04(金) 13:15:23.63
あ、パス忘れてた
わかると思うけど一応訂正

strSQL = "ALTER TABLE [Ms Access;PWD=" & strPass & ";DATABASE=" _
& CurrentProject.Path & "\データ用.mdb;].テーブル " _
& "ALTER COLUMN フィールド TEXT(10) "

100 :84:2011/11/04(金) 22:21:45.27
>>95
>>96
>>99
おお、ピンポイントアドバイスに感謝です。
ALTER TABLE を使うのがベストと思っていたので、本当に助かります。
今日一日中モヤモヤしてたのが晴れました。

101 :名無しさん@そうだ選挙にいこう:2011/11/05(土) 11:30:53.14
Accessを中級レベル以上でさらにその上を目指したいんだけど、そのためのいい本はない?
書店に並ぶいわゆる入門書のような解説のしかたはかんべんしてほしい。
あれは少しさわれるようになるだけで、深く勉強したい人向けではない(これはWord、Excelにも言えてる)。

自分はPCは得意と思ってるほうで、ここ1-2年でExcelとかExcelVBAもかなりマスターできました。
なのでAccessもいまは赤ちゃんレベルだけど、AccessVBAもマスターするつもりで勉強したいんです。
ちなみにいままで読んだ本は題は忘れてけど「リレーショナルデータベースのしくみ」についての初心者向けの本(Accessに特化してなく、それゆえデータベースにつっこんだことも書いてあった)。

102 :名無しさん@そうだ選挙にいこう:2011/11/05(土) 12:27:03.07
>>101
製品付属の開発者用リファレンスのみでOK
非常に解りやすい、上級レベルでもまず必要十分

103 :名無しさん@そうだ選挙にいこう:2011/11/05(土) 17:33:23.70
>>101
中級以上目指すというのはどの領域でも一つの壁

書籍で突破するのは難しいよ

理由は書籍書いている奴の売り上げに繋がらないからというだけでなく、肝心の部分が抜けていたり、実践的じゃなかったりするため

なので実践に勝る訓練ナシ
これが一番だよ

104 :名無しさん@そうだ選挙にいこう:2011/11/05(土) 17:33:57.62
>>101
あと書籍はリファレンス型式のみでいい


105 :名無しさん@そうだ選挙にいこう:2011/11/06(日) 17:11:05.38
バグ大杉でもう疲れたぽ

106 :名無しさん@そうだ選挙にいこう:2011/11/06(日) 18:17:05.75
Access2010SP1 データシートでカラム幅やカラム位置を変更しても保存されない ←バグ!!
一日費やして、読み込み時に並び替えを適用を「はい」にしたらやっと保存された
読み込み時に設定してるんやね

107 :名無しさん@そうだ選挙にいこう:2011/11/06(日) 22:39:36.31
>>106
そんな感じなるっていうこと聞いたことあるけど、私の作った環境すべてで発生しない。
2010sp1で作ったファイルなのかい?accdbなのかい?
つかよ、サポート電話して結果教えてくれ。ここでバグバグ言ってもしゃーないぜ。

108 :106:2011/11/06(日) 23:36:57.47
いろいろやってたら、開く時のリクエリつーかレコードソースの再設定を辞めたら大丈夫になった
しかし現状それでは運用できない

109 :名無しさん@そうだ選挙にいこう:2011/11/07(月) 07:55:43.90
>しかし現状それでは運用できない
うむ。それは大変だ

現象が発生する条件情報があやふやなので問題の切り分けすら始められないという状態は
スレの役割としてもちょっと残念じゃね。


110 :名無しさん@そうだ選挙にいこう:2011/11/07(月) 08:47:26.07
ApplyFilter と SetFilter の違いを教えてください

111 :名無しさん@そうだ選挙にいこう:2011/11/08(火) 05:44:08.71
【 システム環境  】 OS:Windows7、Access: Office 2003
【 VBAが使えるか 】 はい
【 VBAでの回答  】 できれば不可
【 検索キーワード 】 同一ページ印刷、レポートフッター、レポート、レイアウト

レポートのレポートフッターについて質問です。

問題点:
「レポートヘッダー」「詳細」「レポートフッター」を1ページに収めたいのですが、
詳細が2列表示になるくらいにレコードが増えると、レポートフッターが次のページになってしまいます。
レポートフッターを次のページにせず、1ページに収める方法はないでしょうか?

備考:
・詳細は[ページ設定]-[レイアウト]-[行列設定]で2列表示になるように設定してあります。
・レポートフッターには[個数]フィールドの合計(=SUM([個数]))が表示されるようになっています。
・[ページ設定]-[レイアウト]-[印刷方向]で「上から下へ」に設定すると1ページに収まるのですが、
「左から右へ」に設定すると詳細に押し出される形でレポートフッターが次のページになってしまいます。

112 :名無しさん@そうだ選挙にいこう:2011/11/09(水) 17:39:58.11
カスタム書式
カスタム数値書式では、セミコロン (;) で区切った 1 〜 4 つのセクションが設定できます。各セクションには、異なる数値型の書式指定が含まれます。

セクション 説明
1 正の数値の書式。
2 負の数値の書式。
3 0 の書式。
4 Null (Null: 存在しないデータまたは未知のデータを表す値。フィールドに入力したり、式やクエリで使用したりできます。
Visual Basic の Null キーワードは Null 値を表します。主キー フィールドなど、Null 値を格納できないフィールドもあります。) の値の書式。

たとえば、次のようなカスタム通貨型書式を使うことができます。
$#,##0.00[Green];($#,##0.00)[Red];"Zero";"Null"

↑↑
これ機能しません、オイラだけですか?
Access2010SP1です

113 :名無しさん@そうだ選挙にいこう:2011/11/09(水) 17:58:10.09
$#,##0.00[緑];($#,##0.00)[青];"Zero";"Null"[赤]

これでどうだ

114 :名無しさん@そうだ選挙にいこう:2011/11/09(水) 18:04:17.65
黒 黄 紫 赤 青 緑 水
あと何色があるんだっけか

115 :名無しさん@そうだ選挙にいこう:2011/11/09(水) 18:06:01.61
あ、白 忘れてた

116 :112:2011/11/09(水) 18:15:04.94
プロパティシートで設定できない、VBAで設定したら機能はした

117 :名無しさん@そうだ選挙にいこう:2011/11/09(水) 18:42:52.94
おら、青とか赤とかにしてプロパティシートで設定できたよ

118 :名無しさん@そうだ選挙にいこう:2011/11/10(木) 13:20:00.60
Access2010なんですけど

ctr+pでプリントすると合計だけが印刷されないんですがどうすればいいですか?

119 :名無しさん@そうだ選挙にいこう:2011/11/13(日) 17:07:16.38
Access2010SP1
VBAでNavigationControl内の各NavigationButtonを参照するには、どうしたら良いですか?

120 :名無しさん@そうだ選挙にいこう:2011/11/13(日) 18:56:28.66
社員マスターテーブル で結婚して姓が変わった社員の扱いは、良い方法有りますか。

121 :名無しさん@そうだ選挙にいこう:2011/11/13(日) 20:18:49.23
>>120
ACCESSじゃないけど前関わったシステムでは「旧姓」フィールドを持ってたな。
何度も離婚結婚する人の履歴まで把握したいとかならそれでは不十分だろうが
そんなニーズがあんまりあるとも思えない

122 :名無しさん@そうだ選挙にいこう:2011/11/13(日) 20:22:03.87
>>121
ああ有難う

123 :名無しさん@そうだ選挙にいこう:2011/11/14(月) 19:20:51.64
>>119
NavigationControl.Controls

124 :名無しさん@そうだ選挙にいこう:2011/11/14(月) 22:47:43.34
>>123
えっ、それで出来ない…

125 :名無しさん@そうだ選挙にいこう:2011/11/15(火) 20:26:05.22
>>124
コマンドボタンとほぼ同じコントロールだし、できないのはおかしい
できない理由があるはずだから、探ってくれ
つかよ、VBAで何すんだ?

126 :名無しさん@そうだ選挙にいこう:2011/11/17(木) 08:20:26.62
すみません。質問です。
職場にAccess2010とAccess2003が共存して入っているのですが、動作がおかしいです。
Access2000で作成したファイルをそれぞれ開くと、以下の現象が出ます。
これはやはり共存が難しいということなのでしょうか。

・Access2003
 →フォームが開かない(エラーになる)

・Access2010
 →フォームは開くが、テーブルが開かない。


127 :名無しさん@そうだ選挙にいこう:2011/11/17(木) 08:30:50.12
ご質問です。ACCESS2007 SP3
VBAは初心者です。チェックボックスで選択されたフィールド名(A)をExcelへエクスポートする際、既にある(B)というフィールド名にTUREであれば(B)に移動させるような方法はあるのでしょうか?


128 :名無しさん@そうだ選挙にいこう:2011/11/17(木) 09:46:14.73
>>127
ある

129 :名無しさん@そうだ選挙にいこう:2011/11/17(木) 11:10:36.10
ACCESSとVSを同じパソコンにいれると、ACCESS-VBAの検索窓で文字化けするのナントカしてほしいよね
慣れたけど

130 :名無しさん@そうだ選挙にいこう:2011/11/19(土) 14:44:14.12
 ACCESS 95(95)→2000(XP)→2010(WIN7) まで来た

 2000までは問題なく使えるんだが、2010だとフォームからデータを入力した後
 に貼り付けたボタンを押すと(メインフォーム+サブフォーム)
 「レコードの更新」が出来なくなってる(マクロでつくったもの)
 どうしたものか・・・



131 :名無しさん@そうだ選挙にいこう:2011/11/19(土) 23:13:45.10
リッチ テキスト形式で行間調整出来ませんかね?
レポートが詰まった感じになって、これじゃ実用に耐えない

132 :名無しさん@そうだ選挙にいこう:2011/11/20(日) 00:51:17.02
>>130
作りなおす

133 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 08:33:12.84
クエリさえも技術を盗まれたくない場合
保護する方法ないでしょうか?

134 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 09:25:02.44
>>133
テーブルだけ作成して、あとは全てVBAで


135 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 09:45:14.70
クエリ単体ならVBAでなんとかできたけど
クエリAからクエリBを呼び出すような文って簡単に作れないのかな?

136 :135:2011/11/23(水) 10:26:10.84
VBAでクエリを作成してすぐ消す手でどうにか
同僚にオレのテクニックをパクられずに
すみそうな気がしてきました

クエリを作る
cat.Views.Append strName, cmd
終わったらけす
cat.Views.Delete strName


137 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 11:04:34.82
そこまでして手法を隠したいってどういう状況だ

138 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 11:10:59.12
そのささいな技術が
オレの存在価値を高める事ができるからです。

139 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 11:14:24.02
じゃクビな、ささいな技術を共有する社員を雇うよ

140 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 12:27:49.90
クエリに技術もクソもない

141 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 13:03:48.95
クエリはたしかに
たいしたことないけど
とっかかりのヒントさえ与えたくないからなぁ
ヤル気の入り口へは導きたくない

142 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 15:48:22.78
Access 2000を使っています。

フィールドを設定して、データを入力したテーブルは一見エクセルっぽいですよね。
で、そこで、データを直接入力しなくてはいけないのですが、
エクセルのように、一回コピーして、それを複数のセルを範囲指定してペーストするとそのデータが一気に貼り付けられる、
という風にはできないのでしょうか?

もしあればやり方を教えてください。お願いいたします。

143 :142の母:2011/11/23(水) 16:01:11.52
142の母です。
いつも娘がお世話になってます。
わたしからもお願いします。
よろしくです。

144 :142の母:2011/11/23(水) 16:03:37.13
娘は特に
データベースのくせにデータをいちいち一個ずつしか入力できないことに大いに不満を持っているようです。
これはインポートと言うんでしたっけね?
よろしくお願いします。

145 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 16:25:27.63
142です

たとえば、エクセルで10行入力しておいて、それをコピーして
アクセスの該当のフィールドに貼り付ければ一気に貼り付けられますね。
こうするしかないのかな

146 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 16:57:41.39
>>136
そして俺はaccess password recoveryでパス解析して、悠々自適にコードを読み、堂々とパクるのであった。

無駄な努力はやめたまえ

147 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 16:59:13.84
>>142
つexcel

お前にaccessは100年早い
失せろ小僧




148 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 17:19:49.07
>>147
更新クエリで解決しました。ありがとう。

149 :名無しさん@そうだ選挙にいこう:2011/11/23(水) 19:37:19.06
access password recovery
ってMDEでも解析できるの?

150 :名無しさん@そうだ選挙にいこう:2011/11/24(木) 13:29:01.70
クエリとは、テーブルから取り出す条件を指定(つまりフィルター)して、
それを見かけはテーブルのように取り出すこと(でも実態はフィルター自体)だと理解してます。

しかし、こんなクエリもあることを知りました。
(1) 重複クエリ
(2) 不一致クエリ
(3) テーブル作成クエリ
(4) 更新クエリ
(5) 追加クエリ
(6) 削除クエリ
これらは何ですか?
まさかテーブルのレコードのデータを追加・変更・削除してしまうの?

151 :名無しさん@そうだ選挙にいこう:2011/11/24(木) 13:36:21.26
>>150
SQL文をAccessのネイティブにコンパイルしたものがクエリです

152 :150:2011/11/24(木) 13:52:42.94
何を言ってるのかさっぱり分らん
しろうとに分かる言葉で教えていただけんか?

153 :名無しさん@そうだ選挙にいこう:2011/11/24(木) 13:56:55.72
>>152
SQLって解る?
Accessが理解できるコードに変換してから実行されるんだけど、変換済みなのがクエリ

154 :名無しさん@そうだ選挙にいこう:2011/11/24(木) 14:14:46.32
>>150
そのままやん
(1)重複を抽出してくれるクエリ
(2)不一致を抽出してくれるクエリ
(3)テーブルを作ってくれるクエリ
(4)データを更新してくれるクエリ
(5)データを追加してくれるクエリ
(6)データを削除してくれるクエリ

155 :名無しさん@そうだ選挙にいこう:2011/11/24(木) 17:40:05.69
クライアントOSはXPでAccess 2003
サーバーOSは2003 server
データベースがSQL Server 2005

Accessでデータベースのテーブルへのリンクテーブル作るんだが、
そのテーブルを読取専用にすることってできるんかな。
読取専用のクエリを作るのはできるけど、テーブルそのものを
読取専用にする方法が分からない・・・



156 :名無しさん@そうだ選挙にいこう:2011/11/25(金) 09:33:18.74
一方俺は
さっさと他人にクエリを教えて
先に進むのであった

知識を共有せずに、
自己満足の保身人間
そんなクズは総じて評価が低い
リスク管理ができる人間であれば、そんぐらいわかるだろ

知識なんて、人一人が持てる量なんて限られてる
オリジナリティーなんてもんは、たいていの場合意味が無い
この手の技術は特にだ

知識より人間を管理できなきゃ出世できんぞ

157 :名無しさん@そうだ選挙にいこう:2011/11/25(金) 10:00:46.62
>>146
それ、データベースパスワード解析するだけで、MDEコード読めないから

つーか、mdbは誰でも一瞬で解除できるし
accdbは総当たりしかないからaccess password recovery とか使っても桁数多ければ1万年後だし

158 :名無しさん@そうだ選挙にいこう:2011/11/26(土) 00:01:07.27
質問です。

クエリA から 帳票形式のフォームと単票形式のフォームを作成しました。

帳票形式のレコードをダブルクリックすると該当の単票形式のフォームを開く ってのをやりたいんですけどうまくいきません。

クエリAにはオートナンバーの「ID」というフィールドが設けてありますので、フォームのプロパティから「ID」のフィールドをダブルクリック
したときに該当フォームとレコードを開きたいんですけど

マクロを設定するときに  フォームを開く→レコードの検索 というマクロなのかな?と思っていますが、設定の仕方がわかりません。

教えてくださいよろしくお願いします!

Access暦2ヶ月ほどの初心者です。
VBAはわかりません。



159 :名無しさん@そうだ選挙にいこう:2011/11/26(土) 09:28:27.11
やっとVBAからマクロへの移行終わったよ、keyCode拾うとき以外は全部マクロ、時代はマクロだね

160 :名無しさん@そうだ選挙にいこう:2011/11/26(土) 09:35:14.48
どういう意味だ?
VBAとマクロは同じものじゃないのか?

161 :名無しさん@そうだ選挙にいこう:2011/11/26(土) 13:52:34.09
Accessの場合別なんだよな
内部的には一緒みたいだけど

162 :名無しさん@そうだ選挙にいこう:2011/11/26(土) 23:37:45.37
VBAとマクロの関係はSQLとクエリの関係と一緒
マクロはGUIなだけ



163 :名無しさん@そうだ選挙にいこう:2011/11/27(日) 01:15:02.23
んなこたーない

164 :名無しさん@そうだ選挙にいこう:2011/11/27(日) 10:29:37.29
VBA→マクロって珍しいな
逆はありがちだけど

165 :名無しさん@そうだ選挙にいこう:2011/11/27(日) 21:26:21.48
わざわざマクロに移行する理由って何だろう

166 :名無しさん@そうだ選挙にいこう:2011/11/27(日) 22:46:37.96
【 システム環境  】 Windows 7, Access2003
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 不可
【 検索キーワード 】 ACCESS 関数、演算子 コントロールボックス

初心者的な質問ですみません。テーブル1、2、3があります。
メインフォームとサブフォームで構成されています。例えば料金合計でデータの
ところで数式に=SUM([料金])または、=sum([料金]*[数式])と設定しても実際には#エラーと
出てきてしまいます。ちなみに、フォームからオブジェクトの依存関係でこのオブジェクトが依存する
オブジェクトでちゃんとテーブル1,2、3が関連付けられています。また、単純な式、フォームヘッダーに
数式が=count([顧客名])と入力しても、フォームビューでは#エラーとなってしまいます。
いったい何がいけないのでしょうか?ご教授お願いします。状態的にはテキストボックスを作る→テキストボックスを選択し、
プロパティからデーターソースで色々と数式を書き換えるとうまく更新できなかったりします。
よろしくお願いします。

167 :名無しさん@そうだ選挙にいこう:2011/11/27(日) 22:48:35.25
>>166
訂正===>3行目=sum([料金]*[数量])です。

168 :名無しさん@そうだ選挙にいこう:2011/11/28(月) 09:52:08.86
メインフォームとサブフォームの関係がよくわからん
複数依存関係がフォーム?にあるならこんな感じか?

=フォーム2.Form!料金*フォーム3.Form!数量

とりあえず、↓を見れ
http://www.accessclub.jp/actips/tips_70.htm
ちなみに「サブフォーム 集計 access」でググった

意味が分からんのなら
メインフォームとサブフォームの関係と
フォームのレコードソースとコントロールソースを下に晒せ

今日は気分がいいので、優しいオッレッ!!


169 :名無しさん@そうだ選挙にいこう:2011/11/28(月) 20:03:59.02
【 システム環境  】 Windows 7, Access2003
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 不可
【 検索キーワード 】 ACCESS 関数、演算子 コントロールボックス
アクセスあまりよくわからないし、別にさらしてもいいデータなので、晒します。
テーブル1===>項目CD,項目名、料金
テーブル2===>受付No、顧客ID、項目CD,数量
テーブル3===>顧客ID、顧客名、〒、住所、連絡先、申込日、開催日、キャンセル日
メインフォーム===>顧客ID(2)、〒、顧客名、住所、開催日、連絡先、申込日、キャンセル日
サブフォーム====>受付No(2)、項目CD(2)、項目名(1)、数量(2)、料金(1)

170 :名無しさん@そうだ選挙にいこう:2011/11/28(月) 20:10:04.99
>>169
ですが、昨日色々調べて今まで自分が知ったこと。
合計とかの計算式を記述するのは、詳細フォームではなく、フォームヘッダーか、
フォームフッターに記述する。サブフォームの合計をメインフォームに記述したいなら、
サブフォームのフッター部分に記述して、メインフォームにF001SUB.form!合計料金というように
記述する(サブフォーム名がF001SUB,コントロールの名前が合計料金)
だが、実際にはうまくいかないサブフォームの時点で簡単な数式が反映されない。

171 :名無しさん@そうだ選挙にいこう:2011/11/28(月) 20:14:58.34
>>169
ですが、()内はテーブルです。後、わかったことですが問題はフォームとサブフォームが
うまくリンクしていないかも知れないということです。ちなみに作成はフォームウィザードでテーブル3をメインにして
一気にメイン、サブを作るという方法です。・・・・・色々と調べてみましたが、リンク親フィールド顧客ID,リンク子フィールド顧客ID
となっていますが、この部分がまったくわかりません。どこをどうすればこの要件を満たすのでしょうか?
お願いいたします・・・・・m(_ _)m

172 :名無しさん@そうだ選挙にいこう:2011/11/28(月) 20:36:35.45
>>169
リンク親フィールド、リンク子フィールドの設定はわかりました。
=SUM([料金]*[数量])をビューで確認するとコントロールボックス内は真っ白です。
もう、わけわかりません。

173 :名無しさん@そうだ選挙にいこう:2011/11/28(月) 20:53:59.88
教えてください。
【 システム環境  】 WindowsXP, Access20003
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 グループ化 空白セル 除外

(ID)(A)  (B)(C)
001 10/1   2   2
001 10/4   1   3
001 10/5   _   5
002 10/1   4   1
002 10/8   3   _
003 10/6   1   2
003 10/7   3   1

※_は空白

『学籍番号001は、10/1の試験でB科目の評価は2、C科目は2。
10/5はBは受けずにCのみ5。002番は・・・』というようなテーブルを作り、
各学籍番号のデータを
@日付が一番新しいものでグループ化  かつ
A一番新しい日付で空白だったレコードは、直近の数値をもってくる
例だと
(ID)(A)  (B)(C)
001 10/5   1   5
002 10/8   3   1
003 10/7   3   1

と、したいのですが、フィールドAを「最大」でグループ化し、BとCを「最後」で
くくったのですが、うまくいきません。
BとCに「is not null」をいれたりして試してみたのですが、今度は何も抽出されないのですが・・・。
何かいい方法ありませんか?

174 :名無しさん@そうだ選挙にいこう:2011/11/29(火) 00:22:23.99
>>173
テーブル名はT1、クエリ名はQnで表記するぞ。
Q1 ID、A。Aを最大で抽出。

Q2 ID、A、B。BをIs Not Nullで抽出。

Q3 ID、A、C。CをIs Not Nullで抽出。

Q4 Q1のコピーを元にQ1とT1のIDとAを結合。
B(フィールド名は適当に変える)に、B_: IIf(IsNull([T1]![B]),DLast("B","Q2","ID = " & [Q1]![ID]),[T1]![B])
C(フィールド名は適当に変える)に、C_: IIf(IsNull([T1]![C]),DLast("C","Q3","ID = " & [Q1]![ID]),[T1]![C])

Q2、Q3はID、Aは昇順ソートを指定したほうがよさ気。


175 :名無しさん@そうだ選挙にいこう:2011/11/29(火) 00:44:45.32
>>169
=サブフォーム名!参照テキスト名(>>170の例ではF001SUB!合計料金)でいけないか?

176 :174:2011/11/29(火) 00:54:43.03
補足

Q4はクエリのデザインビューの上部で右クリックすると「テーブルの表示」って出るからそこからT1を追加する。
あとはリレーションの要領で。

177 :名無しさん@そうだ選挙にいこう:2011/11/29(火) 21:38:09.60
http://support.microsoft.com/kb/208190/ja
> First()、Last()、DFirst()、および DLast() 関数では、
> 並べ替え順、インデックス、および主キーが無視されます。
> これらの関数は、指定された並べ替え順での先頭または最後のレコードではなく、
> レコードがテーブルに入力されたときの順序に基づいて、
> 削除されていない先頭または最後のレコードを返します。

気をつけてね

178 :名無しさん@そうだ選挙にいこう:2011/11/29(火) 22:52:32.85
データで資料の見やすさはExcelとAccessどっちが向いてる?
データベース管理はAccessの方が断然見やすいと思うのですが、それらをデータ上で表示させて編集するのはどっちがやりやすいですか?
今のところマスターデータ作ってVLOOKUP関数とIF関数を駆使してExcelでデータベースの構築を考えてるのですが素直にAccess使った方がいいのかなと思いまして聞きました。
ただ、Accessはこれから勉強するのですが他は何となくできそうなのですがレポート作成が難しそうで苦戦してます。

179 :名無しさん@そうだ選挙にいこう:2011/11/29(火) 22:53:38.06
>>177
First()、Last()、DFirst()、および DLast() 関数
使ったことなかったから知らんかった。勉強になったよ。

B_: IIf(IsNull([T1]![B]),DLookUp("B","Q2","A = #" & DMax("A","Q2","ID = " & [Q1]![ID]) & "# AND ID = " & [Q1]![ID]),[T1]![B])

まどろっこしいけどこっちのほうがまだ安全?

180 :名無しさん@そうだ選挙にいこう:2011/11/29(火) 23:01:51.65
>>178
最終的にはフォームとレポートをどこまで作りこめるかじゃないの。
面倒だったらデータ管理はAccess、印刷とかはExcelみたいに使い分けてもいい。

181 :名無しさん@そうだ選挙にいこう:2011/11/29(火) 23:37:22.89
>>180
ありがとう。そうして見ます。

182 :名無しさん@そうだ選挙にいこう:2011/11/30(水) 09:35:59.56
Accessの汎用性は異常
どこぞのだれのせいで社内で要求される開発スピードが変わっちまった

こっちが将来を見越して要求や設計に時間を割いても
評価されない現状がそこにある
あとでメンテナンスでグダグダになって・・・こっち見んな
たしかにいつもお前のケツ拭いてやってるのは俺なんだが・・・なんだよ、その笑顔
いつも偉そうにほざいてやがるくせに、もっとしっかりしてくれよ、糞上司
いつも言ってるだろ、最初にちゃんと時間とリソースを割けと
お前の仕事は、システムを理解できない人間から要求された時間内に、
己が作れるレベルのものを作ることじゃなくて
無理なものは無理、できないことはできない、
待ってもらう必要があるならば、時間が必要だと断ることなんだよ

と、それはさておき・・・
設計も頭の中にあるような小規模・個人で作るならいいんだが、
チームとなるとお勧めしない

ユーザーベースとして考えればエクセルもだけど、とてもよくできたソフト
だが、データベースとして考えれば全然足りない

それぐらいすごいそふと

183 :名無しさん@そうだ選挙にいこう:2011/11/30(水) 09:38:44.02
>>178
桐にしとけ、キー入力とレポート出力は秀逸、Excelの比ではない

184 :名無しさん@そうだ選挙にいこう:2011/11/30(水) 12:21:06.39
>>183
どう考えたってビジネスユースだろ。選択権なんかあろうはずもない。
ネタのつもりならいい加減古すぎ。スレタイから【桐にしとけ】がはずれたのもわからんのか。

185 :名無しさん@そうだ選挙にいこう:2011/11/30(水) 21:56:32.69
しかし知恵袋のボンクラ回答は、いつみても笑えるな
ヒマつぶしに最高だ

186 :名無しさん@そうだ選挙にいこう:2011/12/01(木) 22:27:31.12
リボンを最小化したらせいせいした
これ必要ないんじゃないかなー

187 :名無しさん@そうだ選挙にいこう:2011/12/03(土) 12:18:17.85
要らないんなら非表示にもできるよ(最小化とは別)

188 :名無しさん@そうだ選挙にいこう:2011/12/03(土) 14:20:58.46
リボンガー星人

189 :名無しさん@そうだ選挙にいこう:2011/12/03(土) 15:40:53.21
>>187
そうだね
リボンを非表示にしてクイックアクセスツールバーをカスタマイズしたほうが
画面を広く使えるね


190 :名無しさん@そうだ選挙にいこう:2011/12/03(土) 17:42:38.66
SQL-SeverやMySQLを操作する場合、フロントエンドのaccdb を複数ユーザで共有
しちゃダメ?

191 :名無しさん@そうだ選挙にいこう:2011/12/03(土) 18:56:44.81
>>189
QATはデータベース毎のカスタマイズができないけどね

192 :名無しさん@そうだ選挙にいこう:2011/12/03(土) 20:08:58.10
えっ?

193 :名無しさん@そうだ選挙にいこう:2011/12/04(日) 13:22:17.26
抽出条件にワイルドカードを使用してある言葉に関係したセルの表示はできますが
その言葉を含まないセルの表示の際の式はどうなりますか?

194 :名無しさん@そうだ選挙にいこう:2011/12/04(日) 13:25:16.65
すみません、NOTを文頭につけるということをぐぐりました
メモして明日再度試してみたいと思います

195 :名無しさん@そうだ選挙にいこう:2011/12/04(日) 20:59:46.66
visualC++でEXEファイル作ったんだけど需要有る?

コマンドライン引数から目的のAccessファイルパス・ファイルネーム取得して、
パスワード付Accessファイルをバックアップしてからさらに起動するだけだけど、絶対にパスワード知らせずに起動させられる
1件3000円で希望のパスワードをEXE内に設定して作ってあげるけど

1.外部バックアップだから安全確実、起動Accessファイル内でバックアップファイルをさらに日付付きとかにコピーしてください
2.AccessファイルのパスワードはCネイティブコードに暗号化して埋め込んでありますので、絶対に解読できません

196 :名無しさん@そうだ選挙にいこう:2011/12/04(日) 21:15:25.99
>>195
手間暇考えますと3千円は安いですね。でもVB6で同じようなものを作って使ってますよ。

197 :名無しさん@そうだ選挙にいこう:2011/12/04(日) 21:22:21.82
絶対解読できない(笑)

198 :名無しさん@そうだ選挙にいこう:2011/12/04(日) 21:24:17.93
案外人いるんだな。回答はまったくつかないけど。

199 :名無しさん@そうだ選挙にいこう:2011/12/04(日) 21:33:07.31
ネイティブコードに相当に複雑な暗号化して埋め込んであれば実質的に解読無理じゃないですか
2,000万円で解読できますか?
というか、幾ら掛かるか解らない状況で解読に取り掛かる勇気ありますか?

200 :名無しさん@そうだ選挙にいこう:2011/12/04(日) 22:24:41.42
あっという間にAccessの話から逸れてるし。

201 :名無しさん@そうだ選挙にいこう:2011/12/04(日) 22:52:03.01
>>199
・Accessファイルを開く時点でメモリ上にはパスが復号化されている
・EXEは無視してAccessファイルを解析するだけでもいい
・2000万円ありがとうございます

202 :名無しさん@そうだ選挙にいこう:2011/12/04(日) 22:54:15.79
>>199
つか、他人にパスを教えいている段階で駄目駄目じゃん。
そんなの危険すぎて使えないよ。

203 :名無しさん@そうだ選挙にいこう:2011/12/05(月) 09:56:09.33
> ・Accessファイルを開く時点でメモリ上にはパスが復号化されている
メモリ上に保持してるのは、パスワードをハッシュ展開した後の暗号化キーじゃねえの
それからパスワードを復元するのは無理ぽ、しかもハッシュ関数の組み合わせも公開されてないし

> ・EXEは無視してAccessファイルを解析するだけでもいい
2010のパスワード解析は総当たりしかないから、2000年以上掛かるんじゃね

2000年後にMSから2000万円貰ってください

204 :名無しさん@そうだ選挙にいこう:2011/12/05(月) 19:36:02.97
>>203
メモリ上にパスを復号化するのは>>195が作るEXEだよ

205 :名無しさん@そうだ選挙にいこう:2011/12/05(月) 19:51:44.14
普通に Set Ntothing してると思うが、ダミーで別の値を代入しといても良いな

206 :名無しさん@そうだ選挙にいこう:2011/12/05(月) 20:23:25.62
後からクリアしたって全然意味ないから
あとC++って言ってるのにSet Nothingとか何なの

207 :名無しさん@そうだ選挙にいこう:2011/12/05(月) 20:48:10.58
いや、俺C++の人じゃないし

>>204
そんなことが可能なら全てのパスワード意味なくなるでしょ

208 :名無しさん@そうだ選挙にいこう:2011/12/05(月) 20:55:32.09
Accessモドキを作ってそのEXEに起動してもらえばパスワード教えてもらえるんじゃね?

209 :名無しさん@そうだ選挙にいこう:2011/12/05(月) 21:04:40.01
>>207
なんでそれが可能なら全てのパスワードの意味がなくなるって思うの?
冷静によく考えてみてね
可能だし、意味はなくならないよ

210 :名無しさん@そうだ選挙にいこう:2011/12/05(月) 21:10:16.60
EXEにパスワードを埋め込むメリットて何?
パスワードなくても結局開いたファイルの中身見放題なんじゃね?

211 :名無しさん@そうだ選挙にいこう:2011/12/05(月) 21:11:03.35
>>204 が言ってるのは、パスワード付AccessやExcelを開くときにパスワード打ち込むから、それをメモリから見れるだろ
と言ってるのと同様
当然パスワード使った瞬間に削除される、アホらしい

そんなの無理だからキーロガーとかある

212 :当日商品を出しました:2011/12/06(火) 00:59:32.55
当日商品を出しました
4-7日到着します。
よろしくお願いします
店長:吉田 杏子
0870
http://xua.me/dSB


213 :名無しさん@そうだ選挙にいこう:2011/12/06(火) 21:09:19.06
>>211が言ってるのは、
パスワードを入力し終わった瞬間にはキーを離してるんだからキー入力が読める訳ないだろアホらしい
と言ってるのと同様なんだけどね〜

214 :名無しさん@そうだ選挙にいこう:2011/12/06(火) 23:52:01.64
戦国時代やもっと古い時代を舞台とした火葬も悪くはないが
そいつが活躍したせいで、その後の歴史にどのような影響を与えたのかが気になるからなぁ。
やるなら太陽ぐらいはやって欲しい。
もちろん、現代までは概要みたいな感じで流しても構わないから。
あ、当然その後主人公が暗殺されたりして結局歴史は変わらず、真実は闇の中へ的なBADENDでもいい。

215 :214:2011/12/06(火) 23:53:33.63
大誤爆w

216 :名無しさん@そうだ選挙にいこう:2011/12/07(水) 10:41:00.00
>>213
Hey boy !!
Do not save sensitive data in RAM, the file system, or the registry. Instead, cache the data to process memory.

217 :名無しさん@そうだ選挙にいこう:2011/12/07(水) 20:24:14.07
>>211
そりゃ見れるって
何言ってんのこの人

218 :名無しさん@そうだ選挙にいこう:2011/12/07(水) 20:38:57.88
>>217
Hey boy !! You're so Stupid.
You can't see process memory,and there are only hashed strings, not password.

ハック可能ならMSに売れよ、数億になるだろ。

219 :名無しさん@そうだ選挙にいこう:2011/12/07(水) 20:55:53.12
ならんよ(笑)
例えばさ、パスワードダイアログの入力中に「*******」とか表示されている間、
エンターを押す前、パスワードはもうハッシュ化されててメモリに存在しないとか思ってるの?
それともプロセスメモリにあるから外から見ることはできないとか思ってるの?

おめでたいねえ
話にならない訳だ

220 :名無しさん@そうだ選挙にいこう:2011/12/07(水) 21:34:42.45
じゃあハックしてみろよ
ネットで理論入手したから何時でも核弾頭作れる、と豪語してる中学生並みだな

221 :名無しさん@そうだ選挙にいこう:2011/12/07(水) 23:07:27.62
セキュリティ求めるなら桐のが良いじゃん。アクセスじゃ無理。

222 :名無しさん@そうだ選挙にいこう:2011/12/08(木) 00:01:33.24
>>220
はやくうpしろ!

>>195をハックすれば2000万円

223 :名無しさん@そうだ選挙にいこう:2011/12/08(木) 09:33:22.90
>Cネイティブコードに暗号化して埋め込んであります
復元方法も埋め込んでるんだろ?


224 :名無しさん@そうだ選挙にいこう:2011/12/08(木) 10:49:33.76
逆アセンブル解析するには君の人生は短すぎる

225 :名無しさん@そうだ選挙にいこう:2011/12/08(木) 14:36:40.29
みなさんレベル高いですね。
C++もVB6も持ってない私がVBAで作ってみましたよ。
target.accdb のpasswordをhackしてください。
豪語している達人の方がhackできなければ、私はこれで行きますよー。
1週間以内にhackの報告なければギブアップしたという事で。

http://up1m.ko.gs/src/koups1041.zip

226 :252:2011/12/08(木) 14:50:55.28
不具合合った削除

227 :名無しさん@そうだ選挙にいこう:2011/12/08(木) 18:26:52.62
うpする奴は2000万円も用意しとけよ

228 :252:2011/12/08(木) 18:35:18.80
再アップしてみた。
http://up1m.ko.gs/src/koups1041.zip

229 :252:2011/12/08(木) 18:37:23.81
C++やVB6とは別の人ですのでAccessVBAです。御褒美は誉めてあげるだけです。

230 :名無しさん@そうだ選挙にいこう:2011/12/08(木) 21:01:52.58
パスワードを可視化するだけで数億円で買ってくれるスレはここですか?

231 :名無しさん@そうだ選挙にいこう:2011/12/08(木) 23:08:52.06
俺はギブ、無理だ、ところで 252 じゃなく225 だろ。

232 :名無しさん@そうだ選挙にいこう:2011/12/09(金) 09:23:31.88
チャレンジしたんだが、2003なのでな



233 :225だけど252:2011/12/09(金) 11:45:29.69
>>232
これでpasswordをhackされなければ >>195 を買わなくても良いかなっと。
CriptAPI使ってませんでvba基本機能のみ。mdeですのでPcodeです。
ショートカットに最小化指定してカッコ良く起動してくださいませ。
accdb、mdb同梱版に差し替えましたよー。

234 :名無しさん@そうだ選挙にいこう:2011/12/09(金) 12:12:13.75
mdbは一瞬でパス解除できるから無意味だろ、パス求めるゲームの意義はあるが

235 :名無しさん@そうだ選挙にいこう:2011/12/09(金) 14:08:41.10
データベース分割ツールなどでデータとフォームが分かれているAccessを作成した場合、
フォームのmdbをローカルに置いておくのと、サーバに置いておくのではパフォーマンスに差が出るかな?

どっちの方が良いんだろうか。

236 :名無しさん@そうだ選挙にいこう:2011/12/09(金) 14:12:27.03
フォームはローカルに置いてください、これ原則
LANを流れるデータは最小限に

237 :名無しさん@そうだ選挙にいこう:2011/12/09(金) 19:36:44.59
解らん解けん、これメモリからpass見れるの?
教えエロい人

238 :名無しさん@そうだ選挙にいこう:2011/12/09(金) 20:09:02.37
>>233
ほい

*7J26pe*0jo>7omkIE`A

こんなんで2000万円もらえたらイイネ!

239 :名無しさん@そうだ選挙にいこう:2011/12/09(金) 20:10:33.43
>>233
あ、たぶん>>195を買っても同じようなもんだから買わなくていいよ

240 :名無しさん@そうだ選挙にいこう:2011/12/09(金) 20:21:18.69
あれ、何だこれ、mdbのパスaccdbと同じじゃないか
あまり意味なかったかな

241 :名無しさん@そうだ選挙にいこう:2011/12/09(金) 21:33:25.69
どうやって見たの?
教えエロい人
>>238

242 :225だけど252:2011/12/10(土) 08:42:19.63
>>238
有難うございます。まんま正解ですね。
さすがわ豪語していた人、凄いですねー。
お陰様で >>195 を買いませんよ。
ところでhackの概略はどんな感じですかね?

243 :名無しさん@そうだ選挙にいこう:2011/12/10(土) 13:38:34.53
そんなもん総当たりで簡単に求められる
今回のパスワードは記号、数字、大文字、小文字の組み合わせで20桁だから
1秒あたり1000兆回アタックするとして1400兆世紀くらいで全組合せ行ける

244 :名無しさん@そうだ選挙にいこう:2011/12/10(土) 17:37:09.83
最近のブルートフォースは、グラボを使ってやるからな

245 :名無しさん@そうだ選挙にいこう:2011/12/10(土) 21:10:34.38
>>238
どうやって解析したんだよ

246 :名無しさん@そうだ選挙にいこう:2011/12/11(日) 06:57:36.99
>>245
バイナリエディタとかじゃ

247 :名無しさん@そうだ選挙にいこう:2011/12/11(日) 08:31:01.03
ヒントplease

248 :名無しさん@そうだ選挙にいこう:2011/12/11(日) 13:26:09.67
これ使ってtarget.mdbを解析すれば瞬殺
ttp://www.everythingaccess.com/accesspasswordretrievallite.htm

>>232は策士

249 :225だけど252:2011/12/11(日) 17:16:33.26
もし、>>226 で一旦削除する前のモノ使われてたら比較的簡単に解析されてると思います。

250 :名無しさん@そうだ選挙にいこう:2011/12/11(日) 19:29:49.63
>>238だけど、別に大した事はしてないよ
結局>>201に書いたとおりで
accdbを開くとき受け渡されるパスワードを抜いただけ

ま、具体的な方法なんてどうでもいいでしょ
要はそういうリスクがあるから>>195>>196>>225みたいなのはちょっと・・・ってこと

なかなか理解できない困った子がいたから話が長引いちゃったね(笑)

251 :名無しさん@そうだ選挙にいこう:2011/12/11(日) 20:56:41.14
Accessモドキ作ったのかよ

252 :名無しさん@そうだ選挙にいこう:2011/12/13(火) 09:53:21.20
accessの運用で困っています。

 OS:win7
 access2010
 
目的:顧客情の管理(最大レコード数2000程度)

現状:広域地図(accdb1)
   詳細地図(accdb2)
   見取り詳細図(accdb3)
   住所等詳細情報(accdb4)

   上記の4データベースをリンクで統合

問題:accdb1 accdb2 accdb3 がフィールドの最大値制限に引っ掻かかる1GB寸前状態になっている。
理由はOLEオブジェクト挿入でbitmapを使っている為。

上記の解決方法を教えてください><
今のところ、SQLsarver 2008 R2(無料)にDBを構築して、アップサイジングウィザ等を実施するも、OLEのデータだけなぜかエクスポート出来ない。
次に、OLE上のbitmapデータそのものが1MB近いので小さくす方法が無いか探したが見つからず。
データ容量の最大値が地図データで2000件(2GB?程度)の予定なので、これをクリアできる方法なら何でも良いです><

253 :名無しさん@そうだ選挙にいこう:2011/12/14(水) 07:46:27.23
【 システム環境  】 Windows XP Pro, Access 2007
【 VBAが使えるか 】 多少
【 VBAでの回答  】 可
【 検索キーワード 】 MYSQL ストアド ODBC

ODBC接続にてMySQLに接続しています。
MySQLのストアドを実行した結果(レコードセット)をACCESSで利用したいのですが、
どのようにコーディングすればよいですか?

ストアドプロシージャの呼び出し例(SELECT系、パラメータあり)
ttp://www.tsware.jp/tips/tips_447.htm
を参考にしたのですが、できませんでした。

お力添えをいただければと思います。


254 :名無しさん@そうだ選挙にいこう:2011/12/15(木) 06:37:56.65
>>252
テーブルに保存するのは画像ファイルのpathだけにしたら?

255 :名無しさん@そうだ選挙にいこう:2011/12/15(木) 21:36:24.61
★ OS、ACCESSのバージョンを明記してください。

●環境
・WindowsXP SP3
・Access2003 SP3

●質問内容
ある測定データのデータベースを作成しようとしています。
はじめてデータベースを作成するので、検索しようにもキーワードがわからずに悩んでいることがあります。
例えば、以下のようなテーブルがあり、

サンプル名 測定項目 測定日 測定データ
サンプル名 測定項目 測定日 測定データ1  測定データ2 ・・・ 測定データ100

測定データが100点の数列である場合
下段のように100列のテーブルを作成するのは阿呆らしいのですが、
どのように解決したらよいのでしょうか?

256 :名無しさん@そうだ選挙にいこう:2011/12/15(木) 22:42:26.05
>>255
「Access リレーションシップ」や「データベース 正規化」で検索してみてください。
列の繰り返しはテーブルを分けて1対多のリレーションシップを作成することで解決できます。
例えば下のように分け、測定IDを使って二つのテーブルを関連付けます。

*テーブル名({主キー列名}, 列名)
測定({測定ID}, サンプル名, 測定項目, 測定日)
測定データ({測定ID, データ番号}, データ)

257 :名無しさん@そうだ選挙にいこう:2011/12/16(金) 00:59:52.59
>255
早速の回答ありがとうございます。
知らない単語や表現があるためじっくりと検索しトライします。

258 :名無しさん@そうだ選挙にいこう:2011/12/22(木) 20:06:16.85
ADODB.Stream ってバイト配列作れないのな、Readで読んでも先頭に変なのが2byteくっ付いてくる
3バイト目から読めばバイト配列になる感じなんだが、マニュアルにないから仕様外ですかね

259 :名無しさん@そうだ選挙にいこう:2011/12/22(木) 23:42:40.10
>>258
BOMじゃないの?

260 :名無しさん@そうだ選挙にいこう:2011/12/23(金) 04:16:38.66
中高生の頃お世話になりました

261 :名無しさん@そうだ選挙にいこう:2011/12/23(金) 09:34:40.64
>>259
なるほど、バイト配列からハッシュ作ったりするとき別の結果になっちゃうよね

262 :名無しさん@そうだ選挙にいこう:2011/12/25(日) 00:04:31.24
●環境
・Windows7
・Access2003 SP3

●質問内容
テーブルの作成方法についての質問です。
マスタの内容
A 1
A 2
B 1
B 3
・・・


あるテーブルのフィールド1はマスタのA/Bjから選択し、フィール2はフィールド1の内容により選択内容を変更する場合にはどのようにしたら良いのでしょうか?
例)
フィールド1 | A | B
-----------------------
フィールド2 | 1or2 | 1or3

よろしくお願いします。

263 :名無しさん@そうだ選挙にいこう:2011/12/25(日) 00:46:46.80
【 システム環境  】 WindowsXP, Access2002
【 VBAが使えるか 】 意味が分かりません
【 VBAでの回答  】 意味が分かりません

急ぎの作業なのでaccess使用歴10分です。
http://pasofaq.jp/office/access/reporttopdf.htm
このサイトに書いてある事をやってるんですが、13番で行き詰まりました。
14番の場面を出す方法がわかりません。
ここから先の説明をして頂けたら助かります。



264 :名無しさん@そうだ選挙にいこう:2011/12/25(日) 02:08:52.15
>>263
Ctrl + G、Alt + F11、ツール→マクロ→Visual Basic Editorのいずれかの方法でVBEを起動。

265 :名無しさん@そうだ選挙にいこう:2011/12/25(日) 02:20:02.82
>>262
サブフォームの典型的な使い方じゃないか。

266 :名無しさん@そうだ選挙にいこう:2011/12/25(日) 07:34:23.84
質問があります。某入門ページにて、アクセスのVBAを学習していたのですが。
アクセスからクエリなどで条件指定して出来たフィールドをエクセルのセルに順序よく転写するという
作業がしたいのですが。

以下、DAOを用いて、あるテーブルからレコードを参照しているのですが
Do until 〜 loopの間で、エクセルのセルにレコード情報を書き込むという作業をやりたいのですが、
どうしたらいいのでしょうか?
以下アクセスVBAで使用しているプロシージャなのですが。

Sub dispData()
Dim db As DAO.Database
Set db = CurrentDb

Dim mySql As String
mySql = "SELECT * FROM 某テーブル ORDER BY 某フィールド ASC"

Dim rs As DAO.Recordset
Set rs = db.OpenRecordset(mySql)

x = 1
Do Until rs.EOF

Workbooks("現在開いているエクセルファイル").Worksheets("sheet1").Range("A" & x).Value = rs.Fields("某レコード")
rs.MoveNext
x = x + 1
Loop
End Sub

以上のようなイメージで簡単に転写できればと思っていたのですが、知識不足なのでしょうが全然できません。どのような行程を行えばできるのでしょうか?
こういうやり方が解説されたページを教えていただくのでも構わないので教えていただけないでしょうか?

267 :名無しさん@そうだ選挙にいこう:2011/12/25(日) 08:22:53.78
WorkbooksはExcel.Applicationのプロパティだから
GetObjectかCreateObjectが必要かな

268 :名無しさん@そうだ選挙にいこう:2011/12/26(月) 04:34:17.96
>>267
お返事が送れて申し訳ありません。
CreateObjectで一度エクセルを開いてから、オブジェクト指定した変数を文頭に
つけることで、自由に操作できるのですね。ありがとうございました。

269 :名無しさん@そうだ選挙にいこう:2011/12/26(月) 07:08:11.83
【 システム環境  】 Windows7, Access2003
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 主キー、transferdatabase、sqlserver

sqlserverのテーブルをエクスポートしようと
transferdatabaseを利用したのですが、
エクスポートしたテーブルの主キーが設定されてない状態になっていました。

VBAを利用して主キーを引き継いだ状態で
エクスポートする方法は無いのでしょうか?

270 :名無しさん@そうだ選挙にいこう:2011/12/26(月) 18:12:40.76
>>268
そうそんな感じ
ちなみにExcelのCopyFromRecordsetメソッドを使うと楽ちんコピーできるよ

271 :名無しさん@そうだ選挙にいこう:2011/12/28(水) 20:24:36.38
>>270
ありがとうございます。エクセル側からも。あるいは、オブジェクト変数で
エクセルを動かしたときに、それは便利そうですね。

272 :名無しさん@そうだ選挙にいこう:2011/12/30(金) 21:07:12.62
>>252
自分は同じようなシステム作ってますが、こういう運用はしてません。

DB SERVERはMYSQL使ってます。BLOB型指定しておけば、添付ファイル型に対応もできますが、速度的にもメンテナンス的にもよくないので、ファイルのアップロード昨日を追加してDB SERVERの特定フォルダにファイル類は格納。

そしてファイルのパスだけを格納して逐次ロードさせるようにしてます。これならまず限界など来ませんしね。

それとデータをBMPってのはトラフィック考えると良くないので、画質100%の圧縮率最高のPNG, jpgを使います。



273 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 08:37:28.84
accessの体験版って再インスコしたらずっと使えますか?
基本を勉強できるぐらいの機能はありますか?

274 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 10:28:45.77
質問です。わかる方教えてください。(Access2010です)

以下の作業を行いました。
@フォームを作成して、そこにチェックボックスとボタンを一つずつ配置しました。
Aチェックボックスに「chkSelect」、ボタンに「btnButton」を名前を付けました。
Bボタンにイベントプロシージャを作成して、以下のVBAコードを作りました。
(チェックボックスにチェックがついていたらフォーム1、ついていなかったらフォーム2を開くというマクロです)

Private Sub btnButton_Click()

If Me.chkSelect.Value = True Then
DoCmd.OpenForm "フォーム1", acNormal, , , , acDialog
Else
DoCmd.OpenForm "フォーム2", acNormal, , , , acDialog
End If

End Sub

ボタンを押すと、「メソッドまたはデータメンバーが見つかりません。」と表示されます。
なぜこのようなエラーになるのでしょうか。

275 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 13:26:10.22
>>274
valueなら

0か-1で判断すればいいんじゃね

276 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 15:44:45.66
アクセスインストールしたけど、超初心者には何が何だかさっぱり判りませんね。
そんなに便利な物なのですか?

277 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 15:59:57.48
>>276
使い道がないなら、なんだろうとゴミ以下だよ。
CGをやりたい人にWordなんか無用だし、小説を書きたい人にフォトショなんて無用の長物だろ。

278 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 16:02:45.51
>>276 巨大ファイルのリレーションが便利なんだよ

279 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 16:07:31.50
>>278
例えば?

280 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 16:10:09.23
好奇心でいろんなソフトを試してみようって気は良い事だろ。
CGをやりたい人や小説を書きたい人が、それしかしない、ってワケじゃないし。

281 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 16:50:34.75
巨大Excelデータの処理方法について - Office系ソフト - 教えて!goo
http://oshiete.goo.ne.jp/qa/2693001.html

282 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 16:53:15.05
>>276

ttp://www.post.japanpost.jp/zipcode/dl/kogaki/lzh/ken_all.lzh

とりあえずこのデータを落としてExcelとAccessで住所検索作ってみ。若しくはある県だけ抽出とか。
話しはそれからだ。

283 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 17:17:48.09
>>282
まだlhaつかってんだね

郵政は

284 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 17:20:30.17
>>275
知恵袋なみのトンチンカンなレスだな

285 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 17:37:32.57
>>274
2002だけど、そのコードで問題なく動く。
参照設定を見直してみてはどうか。

286 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 17:54:21.33
>>284
エスパーしてやってんだから当たり前

答えもしていないおまえに発言権はないよ。

このスレから消えろよ

287 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 18:28:44.40
回答者にもエラーメッセージ読めないアホがいるんだな

288 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 18:58:41.14
すみません、チェックボックスに「chkSelect」

[ec]が抜けていました、check

289 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 19:01:03.74
>>286
ごめんごめん。
あまりにもトンチンカンだったからさ。

290 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 19:04:15.40
>>288
どうせそんなことだと思った。
やっぱり質問者の良識を当てにしてはいけないということか。

291 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 19:26:04.52
エスパー()ならそのくらいわかれよ

292 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 20:43:35.25
ExcelのデータベースよりAccessのデータベースのほうが
ファイルサイズがなんと100倍くらいaccessのほうがおおきくなる。
職場でそうなってる。
だから誰もAccessはいじろうとしなくなった。

原因はなんだと思う?

293 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 21:48:57.17
インデックス無しのテーブルだけでも100倍になるのか?

294 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 22:00:35.88
> だから誰もAccessはいじろうとしなくなった。
なーんかうそくせー

295 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 22:32:41.48
>>292
多分周りの人間が馬鹿なのが原因だと思うよ


296 :名無しさん@そうだ選挙にいこう:2012/01/03(火) 22:44:05.52
最適化していないだけとかのオチなんじゃねーの。

297 :名無しさん@そうだ選挙にいこう:2012/01/04(水) 22:42:21.15
サイズなんか気にするってどんな職場?
メールに添付でもしてるの?

298 :名無しさん@そうだ選挙にいこう:2012/01/06(金) 00:46:49.90
質問があるのですが。

2012/01/01 山田太郎 20歳

のように、日付と名前と年齢をあらわすフィールドがあって、これが結構何万件とかの数のレコードがあるのですが
これに新たに生まれ年のフィールドを作りたいのですが
それを作ったあと、日付の年引く年齢みたいな形で、産まれ年のフィールドに自動的に対応するレコードを
挿入ってできるんでしょうか?できるならばどうしたら良いのでしょうか?

299 :名無しさん@そうだ選挙にいこう:2012/01/06(金) 00:55:11.25
>>298
選択クエリでDateDiff関数を使って計算フィールドを作る。




300 :298:2012/01/06(金) 01:10:14.12
>>299
なるほど、それはすばらしい方法ですね!

ところでいくつか質問があるのですが、
選択クエリって何ですか?
DateDiff関数って何ですか?
計算フィールドって何ですか?

301 :名無しさん@そうだ選挙にいこう:2012/01/06(金) 01:21:17.80
>>299
あの、>>300の人は私ではないです。
試行している途中なのですが
>>298の例でいうと

式1: DateDiff([yyyy],[日付],[年齢])

このイメージは間違ってますよね?二つの日付を出してその合間をとるみたいな
関数のようですが、一つは年齢のように整数を表す場合は
どのように表記するんでしょうか?

302 :名無しさん@そうだ選挙にいこう:2012/01/06(金) 01:36:06.51
>>301
年齢を求めるのと勘違いした。

Year(日付)-年齢

でいいじゃね。



303 :名無しさん@そうだ選挙にいこう:2012/01/06(金) 01:40:25.16
>>302
ああ、そんな簡単でよかったんですね。初歩的ですいません。
ありがとうございました!

304 :名無しさん@そうだ選挙にいこう:2012/01/06(金) 01:41:45.41
式1: Year([日付]) - [年齢]

305 :名無しさん@そうだ選挙にいこう:2012/01/06(金) 05:16:53.50
質問があるのですが、あるフィールドの上から5つまでのレコードを
取り出したいのですが、以下のようなやり方でもできるのですが
直接「.EOF」の部分をレコードの終わりまでではなく
上から五つのレコードを指定するみたいな
メソッドはあるのでしょうか?

Do Until データーベース.EOF Or x = 5

Debug.Print rs.Fields("情報")

rs.MoveNext

x = x + 1
Loop

306 :名無しさん@そうだ選挙にいこう:2012/01/06(金) 10:16:07.72
>>305
SQLのTOP値じゃ駄目か。

SELECT TOP 5 * FROM 〜

みたいに。

307 :名無しさん@そうだ選挙にいこう:2012/01/06(金) 16:12:06.33
>>306
なるほど、ありがとうございます。

308 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 07:56:19.25
ORDER BYを指定したTOP 5だと5レコードじゃなくて5位まで
(同点がいるとレコード数が増える)
というような意味の事がヘルプに書いてあるけど、
やってみたら5レコードまでだった。
どゆこと?

309 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 08:32:40.32
ORDER BY すっところが間違ってんじゃね

310 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 18:36:39.55
【 システム環境  】 Windows7, Access2003
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 なんて検索すればいいのかわからない

※フィールドをFと表記します。
テーブルには文字列型のフィールドがF1,F2、数値型のフィールドがF3,F4とあります。
クエリでF1の集計をグループ化、F3の集計を合計にします。

ここまでは思い通りにできるのですが、F2とF4が問題です。
やりたいことはF2がAの時のF4の合計から、F2がBの時のF4の合計を引いた数値を表示したいです(F2の値はAかBの2種類しかない)。
どうやればいいのでしょうか?



311 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 18:54:42.32
IIf([F2]="A",1,-1)*[F2])

これを合計すればいいのでは?

312 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 18:55:16.58
あ、最後の)は余計だった

313 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 19:27:08.34
>>311
できました。
thx

314 :308:2012/01/07(土) 19:56:00.78
>>309
フィールドが1つだけしかないテーブルを作って試したので間違いようがないんだ。

315 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 20:21:31.33
>>314
で、レコード内容や結果を書かない理由はなんなんだ?
ここの住人にどうしてほしいの?

316 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 21:24:18.37
ま〜たレス読めないアホが出てきたか

317 :308:2012/01/07(土) 23:07:15.78
わかった。5位までっていう解釈が違ってた。
5レコード。ただし、5レコード目の値と同じ値のレコードが他にあればそれも返す。
という、なんか変な仕様だ。

318 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 23:10:48.72
5位タイがいた場合、6レコードまでということでしょうか?
ちなみに作業中で、あるフィールドのレコードの上からいくつか
欲しいというときは、>>305のように回数用の変数も同時に指定する

というのは、ポピュラーなやり方といえるんでしょうか?まぁ
出来れば何でもいいといえばそうなんですが、普通ならこうする
というのがあれば、知りたいと思いました。

319 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 23:18:17.82
>>318
おれは、件数が決まっているのならFor文を使う。
ループ回数上限は、その前にレコードカウントなりを使って取得すればいいわけだし。
Do文は一般的に件数不定の場合に使う。


320 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 23:45:14.33
>>317
至極真っ当な仕様
みんなそのつもりで使ってる

321 :名無しさん@そうだ選挙にいこう:2012/01/07(土) 23:47:27.31
なんか初心者の日記帳になってるな

322 :名無しさん@そうだ選挙にいこう:2012/01/08(日) 07:49:19.93
>>318
5位タイじゃなくて、5レコード目タイ。
例えば
1 1 1 2 2 2 2 2 3 4 5
というようなデータだったら、5位の値は5だけど、5レコード目の値は2。
で、値が2までの8レコードが帰ってくる。

323 :名無しさん@そうだ選挙にいこう:2012/01/08(日) 07:51:52.92
>>322
なるほど、ありがとうございます。確かめながら使って慣れていくしか
ないですね

324 :名無しさん@そうだ選挙にいこう:2012/01/08(日) 08:08:26.32
>>318
俺ならForループにしてループの先頭でEOFチェックするかな
まあDoでもForも結局カウンタ変数を使うって点では同じだね

325 :名無しさん@そうだ選挙にいこう:2012/01/08(日) 16:47:42.30
>>320
なるほど、そんな仕様になっていないSQL Serverって真っ当じゃないんですね

326 :名無しさん@そうだ選挙にいこう:2012/01/08(日) 17:50:33.85
>>325
with ties使えや

327 :名無しさん@そうだ選挙にいこう:2012/01/09(月) 03:40:52.25
例えば、1年間で100回ぐらい筆記テストとかやるとして、
そのデーターがアクセスにはいってて、例えば1ヶ月分の平均点だったり
中央点だったりを出していきたいときって、そのままアクセスで
何かして、出せるんすかね?

なんとなく、エクセルに出力してからやっちゃいがちなんですけど、アクセスで
やったほうが手っ取り早くできるんでしょうか?

328 :名無しさん@そうだ選挙にいこう:2012/01/09(月) 09:36:23.07
>>327
Accessで可能。

ただ、50年テスト受けるとしても5000件しかないうえ、あなたには
Accessの知識が全く無い。
この状態ではExcelで処理するのが吉。

329 :名無しさん@そうだ選挙にいこう:2012/01/09(月) 10:28:01.62
>>328
ただそれを複数人分管理するとなると死ぬだろうね

access使う最初のメリットはデータを3次元以上で扱えることだから。

excelじゃ縦横の二次元にvslookupの擬似が精一杯。

330 :名無しさん@そうだ選挙にいこう:2012/01/09(月) 10:36:50.61
3次元?
何言ってんの?

331 :名無しさん@そうだ選挙にいこう:2012/01/09(月) 12:13:49.57
>>330
言ってる意味がわからないならレスや質問しなくていいよ。

excelでやってりゃいい



332 :名無しさん@そうだ選挙にいこう:2012/01/09(月) 16:18:01.64
excelを使いこなせないやつに限ってexcelを見下す

333 :名無しさん@そうだ選挙にいこう:2012/01/09(月) 16:37:52.01
>>329
とすると、例えば100人分の100回のテスト1年にわたって小刻みに
行われるデーターだったら、圧倒的にアクセスということでしょうか?

その場合、おもにクエリの式ビルダや、集計項目などを活用して
様々な平均点、あるいは偏差値や中央値などを出していくという
作業でしょうか?

そういうところを解説しているサイトとかご存知ないでしょうか?

334 :名無しさん@そうだ選挙にいこう:2012/01/09(月) 16:42:15.01
>>329 >>331
Accessが多次元データベースだとは知りませんでした。
それで、それはどこの世界のAccessなんですか?

335 :名無しさん@そうだ選挙にいこう:2012/01/09(月) 16:59:07.73
>>333
もちろん

それくらいの簡単なものであれば、商品台帳のようなものをテンプレートとして少し改造するだけで作れる。

テーブルは2つで十分。
学生マスタと得点マスタの2つ。さらに科目毎であれば、得点マスタに科目別のフラグとなるフィールドを1つもうけるだけでいい。

フラグは後でも拡張できるからやってみると、excelとの違いがわかるよ。

336 :名無しさん@そうだ選挙にいこう:2012/01/09(月) 17:01:18.80
>>333
ちなみに集計値や偏差値などはこのテーブルに対して後からでもクエリで作れるよ。

ここまでは一切コーディングなしで構築出来る。

337 :名無しさん@そうだ選挙にいこう:2012/01/09(月) 17:09:02.53
>>333
今はデータをAccessに置いてその解析をExcelでやってるんでしょ?
それって適材適所でいい使い方だと思うよ。
無理してAccessでやることないって。中央値とか面倒だよ。

338 :名無しさん@そうだ選挙にいこう:2012/01/10(火) 03:41:54.84
>>335>>336
ありがとうございます。クエリにおいてあまり細かな関数や集計について
説明されたページを見つけることができなかったので、大体その辺を使って
クエリで用意すれば、人数の多いテストなどの各人ごとの詳細なデーターも
作れるようですね。その内勉強してみます。

>>337
そうです。現在簡単な日付や点数などで細かく区切ったものをそのままエクセルにはりつけて
エクセルから計算とかいう形にしています。
もっと高度にアクセスを使えるのかなと思って質問しました。
ただ、アクセスは、一度データシートで画面を出して、そこで直接計算というのが出来ないというか
バージョンが2002なので、新しいバージョンなら多少できるのかもしれないですし

ピボットテーブルとかで出来そうな雰囲気はしそうですが、難しそうですから
エクセルに貼り付けて、そこで計算というのが、今現在私にはわかりやすいです。

339 :名無しさん@そうだ選挙にいこう:2012/01/10(火) 17:29:17.77
クエリでこのような物を作りました。
1番目のフィールド…テーブルのフィールド1をグループ化
2番目のフィールド…Sum([テーブルのフィールド2]-[テーブルのフィールド3])

実行結果は2番目のフィールドが空白になってしまって、思った結果になりません。
テーブルのフィールド2と3は通貨型で、空白のレコードもあります。
どうすればいいのでしょうか?

340 :名無しさん@そうだ選挙にいこう:2012/01/10(火) 19:03:12.04
nz()

341 :名無しさん@そうだ選挙にいこう:2012/01/10(火) 19:15:04.40
>>340
どうもです。
解決しました。

342 :名無しさん@そうだ選挙にいこう:2012/01/11(水) 15:19:04.51
初歩的な質問ですまない。
自宅のPCがaccess2010で、職場のPCがaccess2003なんだわ。
VBAの知識とか全くなくて、イベントを全て埋め込みマクロで作ったんだが、これを2003の環境で動かすにはどうすれば良い?

343 :名無しさん@そうだ選挙にいこう:2012/01/11(水) 15:39:42.87
>>342
「動け〜、動け〜、ちちんぷいぷい、ちちんぷい。あぶらかたぶら、柿の種」
と祈ってください。

344 :名無しさん@そうだ選挙にいこう:2012/01/11(水) 18:25:58.87
>>342
mdb形式で作るのは当たり前として、2003にない機能は使わない。
最終的には2003がインストされたPCで最終調整あたりじゃないの。



345 :310:2012/01/11(水) 20:15:25.97
レスありがとうございます。
埋め込みマクロを旧バージョンで動くよう変換できると聞いて、質問してみたのですが、もう少し調べてみます。

346 :名無しさん@そうだ選挙にいこう:2012/01/11(水) 21:16:17.04
>>345
> 埋め込みマクロを旧バージョンで動くよう変換できると聞いて、

じゃ、その人に聞いてみてね
無理だと思うけど

347 :名無しさん@そうだ選挙にいこう:2012/01/12(木) 14:24:37.15
コマンドラインから、/RO 付きで起動すると読み取り専用になります
起動した後で、読み取り専用になってるかコードで確認する方法はありませんか

348 :名無しさん@そうだ選挙にいこう:2012/01/12(木) 18:41:47.81
>>347
ADOのConnectionのModeを使ってみたら。違うかもしれないが。

349 :名無しさん@そうだ選挙にいこう:2012/01/12(木) 18:53:58.42
有難うございます
DAOの方でいけました、CurrentDB.Updatable

350 :名無しさん@そうだ選挙にいこう:2012/01/13(金) 04:32:16.20
初歩的な質問なのですが。

クエリで日付や名前などで、色々と限定してから、sqlを見ると
WHERE (((DB.名前)="佐藤") AND ((DB.日付)>2011/1/1));

のように()がいっぱいあるんですが、これ全部消しても同じように動いてくれるようですが
これは何か意味があるんでしょうか?
作業によっては()があったほうが良い場合もあるんでしょうか?
後からsplに現手要素を付け加えたいときは、()が凄く邪魔になるようなのですが……

351 :名無しさん@そうだ選挙にいこう:2012/01/13(金) 04:47:18.71
>>350
括弧は+や-と同じ演算子。大抵は優先順位が一番高い。これは数学でもそうだったと思うが。
計算の順位に自信があるのであればいらないだろうが、個人的には可読性を上げるため
大いに用いるべきだとは思う。
ところで手直ししても、結局は元通りになるんじゃなかったっけ?
クエリはあまり使わないからうろ覚えでスマン。


352 :名無しさん@そうだ選挙にいこう:2012/01/13(金) 05:23:21.98
>>351
ありがとうございます。数学のと同じ意味というので、なんとなくわかったような
気がします。複雑な命令だと、文のどこからどこまでの塊を読むのかということが
おそらくパソコン側でわかりにくくなるので、はっきりさせるみたいな意味。でしょうか?

単純な命令ばかりだったら、あまり意味はないと。

353 :名無しさん@そうだ選挙にいこう:2012/01/14(土) 09:36:48.71
アクセス君がコンパイル済のクエリをSQLに変換するとそうなるってだけ

354 :名無しさん@そうだ選挙にいこう:2012/01/15(日) 00:39:34.32
>>353
クエリのクセみたいなもんすかね。あまり気にしなくてもよかったんですね。

どうもどうでも良いところを気にして迷うことが多いですわ。
VBAやりたてのころは、hogeってなんだろうってしばらくわからなかった時期が。

355 :名無しさん@そうだ選挙にいこう:2012/01/15(日) 11:55:02.48
ACCESS2010のナビゲーションウィンドウですが、
2000と比べて1つのテーブル表示領域が大きすぎて非常に使いづらいのですが、
テーブルの更新日や登録日を非表示にして、
表示をすっきりさせるにはどのように設定したらよいのでしょうか?


356 :名無しさん@そうだ選挙にいこう:2012/01/15(日) 12:00:56.82
タイトル 全てのアクセスオブジェクト とかいう場所を右クリック、表示形式を選ぶ

357 :名無しさん@そうだ選挙にいこう:2012/01/15(日) 12:17:52.92
>>356

ありがとうございます!!

358 :名無しさん@そうだ選挙にいこう:2012/01/16(月) 04:06:19.16
15年分の色々な人間の色々な点数をまとめたスコアブックのようなデーターベースが
あって、レコード数が70万件ほどに達しているのですが。

例えば2010年の鈴木さんの試験回数と点数の比率などをVBAでエクセルなどに書き出すときに
とても重くなり、結構何十秒もかかってしまうのですが。

2010年の分だけのデータを切り出したテーブルを作成して、そのテーブルから行うと数秒で済みます。
当面はこのやり方でスムーズな作業はできるのですが、
例えば年度の意味もあらわす重複しない主キーとなるフィールドがあって
そのフィールドをインデックスとしているのですが

そのフィールドでbetwenn 20100101***** and 20101231***** のようにsqlで範囲を
指定すれば、多量のレコードのあるデータベースでも速度があがるということは
ないようです。

これは私の知識不足なのですが、インデックスに指定したレコードが重複しないフィールドで
あらかじめ範囲を指定すれば、その範囲のみのテーブルと同様の速度になるのではと
期待していたのですが、

そのようなインデックスフィールドを使ってデータ探索範囲を限定して速度を引き出すというようなことは
できないことなのでしょうか?

359 :名無しさん@そうだ選挙にいこう:2012/01/16(月) 09:24:53.90
カーディナリティ度が低いんでしょうな
登録されている人間の数がわからんから何とも言えんが
むしろ「鈴木さん」を条件にしてそのカラムにインデックスつけたほうがいいと思うんだが
あとは、日付型を使うとか?

360 :名無しさん@そうだ選挙にいこう:2012/01/16(月) 09:42:42.15
インデックスって
完全一致か前方一致の時にしか
使用されないって
本当ですか?

361 :名無しさん@そうだ選挙にいこう:2012/01/16(月) 09:54:11.76
本当です

362 :360:2012/01/16(月) 10:03:47.12
>>361
誓いますね?

363 :名無しさん@そうだ選挙にいこう:2012/01/16(月) 10:27:37.91
>>362

バカですか?

364 :360:2012/01/16(月) 10:46:46.19
>>361
どこかにそういう記述があるのでしょうか?

>>362
これ私じゃないです。

365 :名無しさん@そうだ選挙にいこう:2012/01/16(月) 10:55:55.02
ISAM形式のindexじゃねえの?
原理的にそうなってるだろ

366 :360:2012/01/16(月) 11:19:04.02
>>365
理由も必ず書いて教えてもらえませんでしょうか。
大変申し訳ありませんが、理由も無く「そうなってる・そうなってない」だけの回答は控えてもらえると助かります。
言うだけなら九官鳥でもできます。

367 :名無しさん@そうだ選挙にいこう:2012/01/16(月) 11:24:26.26
>>366

バカですか?
だから、indexの構造が原理的にそうなってるちゅーの

368 :360:2012/01/16(月) 11:39:32.11
ググれカスでした。

■T'sWare Access Labo #49 〜クエリパフォーマンスの定石を試す(3)〜
ttp://www.tsware.jp/labo/labo_49.htm

抽出条件でインデックスが無効になる場合 - hatena chips
ttp://hatenachips.blog34.fc2.com/blog-entry-83.html


>>362,366
これ私じゃないです。
これ以降のレスも。
さようなら。

369 :名無しさん@そうだ選挙にいこう:2012/01/16(月) 14:41:42.52
>>368
トリップつけなよ

370 :360 ◆0RbUzIT0To :2012/01/16(月) 14:49:59.10
>>369
そうなんだぁ
やばくなぃ?

371 :358:2012/01/16(月) 16:39:25.30
>>360の人は私ではないです。

>>359
ありがとうございます。人間の数は数百人に及びます。なので
その人間ごとにインデックス用のデータを作るのは逆にその手間が
かかりすぎてしまって。

日付型というのも、同じ日のデーターも結構あるので、やはり子の状況ではテーブルを
区切るというのと同じ速度にまでインデックス指定では難しいのかもしれないですね。

ありがとうございました。

372 :名無しさん@そうだ選挙にいこう:2012/01/17(火) 09:41:53.87
アクセスVBAからエクセルの保存ってできないのでしょうか?

(エクセル指定オブジェクト変数).ActiveWorkbook.Save
でエラーみたいなのになるのですが。

373 :名無しさん@そうだ選挙にいこう:2012/01/17(火) 10:12:20.35
できるよ。

374 :名無しさん@そうだ選挙にいこう:2012/01/17(火) 17:08:27.49
>>372
ごく普通に使ってる。

375 :名無しさん@そうだ選挙にいこう:2012/01/17(火) 22:51:18.05
エラーみたいなのにならないのでしょうか?

376 :名無しさん@そうだ選挙にいこう:2012/01/18(水) 04:01:07.52
>>373
>>374

(エクセル指定オブジェクト変数).ActiveWorkbook.Save
この形で普通にされるんでしょうか?私の場合
oApp.ActiveWorkbook.Save
なのですが。
「オブジェクトはこのプロパティ、メソッドをサポートしていません」
となります。普通にエクセルに何か文字や数値をいれることはまともに
できるのですが。バージョンが、アクセスもエクセルも2002なんですが
その辺に関係あがあるでしょうか?

377 :名無しさん@そうだ選挙にいこう:2012/01/18(水) 08:36:16.92
>>376
それ、レイトバインディングで、oAppが定義されてねぇとか、そういうアレなんじゃね?

378 :名無しさん@そうだ選挙にいこう:2012/01/18(水) 09:48:43.68
>>377
Dim oApp As Object
は宣言してありますが。ダメなようです。どうもバージョンか
別のところに問題がありそうですね。

379 :名無しさん@そうだ選挙にいこう:2012/01/18(水) 10:06:18.20


380 :名無しさん@そうだ選挙にいこう:2012/01/18(水) 10:31:43.70
主導の上書き保存でも問題はないので
それでやってみますね。ありがとうございました。

381 :名無しさん@そうだ選挙にいこう:2012/01/18(水) 11:40:36.07
Access2003から2010へ移行する際、気をつけなければならない点などはありますか?


382 :名無しさん@そうだ選挙にいこう:2012/01/18(水) 14:04:46.31
>>378
もう一度、参照関係見なおしてみれ。

エクセルのバージョンが違うとかそういうささやかなミスだろうから。

383 :名無しさん@そうだ選挙にいこう:2012/01/18(水) 18:59:13.23
俺の予想ではoAppにSetされてるのがWorkbook

384 :名無しさん@そうだ選挙にいこう:2012/01/18(水) 20:14:36.46
>>381
バージョン間互換性をあてにしない
共存インストールしない
我が子を見守る気持ちで接すること


385 :名無しさん@そうだ選挙にいこう:2012/01/19(木) 07:33:05.36
>>383

dim oApp as object
Set oApp = GetObject("C:\・・・・・\Exceldata.xls")
のような形で宣言し、事前にExceldataに当たるファイルは
開きっぱなしの状態なのですが、間違っているしょうか?


386 :名無しさん@そうだ選挙にいこう:2012/01/19(木) 09:35:17.03
>>384
なるほど、愛しの我が子を見守る気持ちで居ればいいのですね
ちなみにプログラム的に使えなくなった関数やら何やらはないと言う考えでOKですか?
(2003のmdbを2010で開いてそのまま使える的な意味です)

387 :名無しさん@そうだ選挙にいこう:2012/01/19(木) 18:54:53.73
>>385
あーやっぱり
それWorkbookオブジェクトだから
oApp.Save
でどうぞ

まあその前に変数名を変えておいた方がいいだろうねえ

388 :名無しさん@そうだ選挙にいこう:2012/01/19(木) 19:12:56.36
>>387
そういうことだったんですね!できました!ありがとうございます!
変数名を変えたほうがいいというのは

Set oApp = GetObject(, "Excel.Application")
のようにクラス名だけででエクセルアプリを指定しておくということでしょうか・
これならば、oApp.ActiveWorkbook.Save  で保存できましたが。

普通に使う場合はこの方が便利につかってらっしゃるかたが多いんでしょうか?

389 :名無しさん@そうだ選挙にいこう:2012/01/19(木) 19:30:00.18
>>388
あ、いや、WorkbookオブジェクトをSetする変数の名前は
oAppじゃなくて例えばoWBとかにした方がいいんじゃないの
ってだけの話

390 :名無しさん@そうだ選挙にいこう:2012/01/19(木) 19:47:42.40
>>389
ああ、なるほど、ありがとうございます。

391 :名無しさん@そうだ選挙にいこう:2012/01/20(金) 20:34:03.72
すいません、ACCESS97を使っていたXP PCが先ほど天昇してしまいました。
一応、Windows7(今使用)があるのでネットは困りませんが
ほとんど毎日ACCESSを使用してるので至急2010を購入しなければいけないのですが

MS OfficeXP Personal版(エクセルとワードが2002の)を持っている場合は
アップグレード優待版でいいのでしょうか?いのでしょうか?

392 :名無しさん@そうだ選挙にいこう:2012/01/20(金) 20:44:06.98
>>391
Office 2010<オフィス 2010>アップグレード情報 | マイクロソフト ユーモール
ttp://www.microsoft.com/japan/athome/umall/office2010/upgrade.aspx#qa1

393 :名無しさん@そうだ選挙にいこう:2012/01/20(金) 20:54:46.38
昇天な

394 :名無しさん@そうだ選挙にいこう:2012/01/20(金) 21:02:11.42
>>392
ありがとうございます。
さっそく、在庫あり明日発送可能の店で注文したいと思います

>>393
そうですね、あわてていたので(笑)

395 :名無しさん@そうだ選挙にいこう:2012/01/20(金) 22:32:33.66

http://www.youtube.com/watch?v=1rgtIRKeEg0

396 :名無しさん@そうだ選挙にいこう:2012/01/21(土) 14:18:42.61
質問です。Access2000で作成したShell関数を含むコードが、Access2007で動いてくれません。
具体的には以下のコードで、WindowsXPのFAX(画像)ビューアーを起動させようとしています。

ShellArgs = "rundll32.exe " & Environ("windir") & "\system32\shimgvw.dll, ImageView_Fullscreen " & ImageFilePath
rtnval = Shell(ShellArgs, vbNormalFocus)

rtnvalにはタスクIDが返ってくるのですが、FAXビューアーが起動してくれません。


397 :名無しさん@そうだ選挙にいこう:2012/01/21(土) 15:18:08.54
>>396
失礼しました。ImageFilePathに空白を含んでいることが問題でした。
撤回します。


398 :名無しさん@そうだ選挙にいこう:2012/01/29(日) 01:18:13.28
OfficeといいWindows7といいAccess2010おかしいだろ。
SP1の不具合も酷かったし。
丸1日無駄にしたわ。

参考(俺が時間を浪費した問題):
Excel2010からパスワード付Accessデータベースへ連結ができない
http://www.moug.net/faq/viewtopic.php?t=59917

Windows 7 上の Office 製品を Windows XP SP3 互換モードで実行し VBEditor を開くと、
マクロの全角文字の一部が削除されコンパイル エラーが発生する
http://support.microsoft.com/kb/2297924/ja

399 :名無しさん@そうだ選挙にいこう:2012/01/31(火) 06:59:45.75
質問があるのですが、毎週2回行われるあるテストの、期間別に平均点やトップの点数などを出す作業を割りと頻繁に行うのですが。

クエリで、日付のところで、例えば2010年1月から3月までで、100点が何回あったかというのを調べたいときに

集計項目を出して日付を「グループ化」し、点数を「合計」というのにしてだすと、3ヶ月間ではなく、1月10日に2人いて、2月15日には3人いた。のような出方をしてしまいます。

一応ざっくりと2010年という1年単位であらわす日付もあるので、それを指定すると、まとめて100点が何人か出してくれるんですが。これだと、2009年12月から2010年2月までとかのときにまた漏れがはっせいします。

こちらで指定したい日付の期間内で、ある点数が何人と確実に決めるやり方ってあるんでしょうか?
そういう期間をあらわすフィールドを新たに設置してそこをグループ化するしかないのでしょうか?

400 :名無しさん@そうだ選挙にいこう:2012/01/31(火) 12:01:25.13
>>399
最初にwhereで間引いて、カウントするんじゃダメなん?

SELECT Count(テーブル1.点数) AS 100点の人数
FROM テーブル1
WHERE (((テーブル1.日付) Between #1/1/2012# And #2/29/2012#) AND ((テーブル1.点数)=100));

401 :名無しさん@そうだ選挙にいこう:2012/02/01(水) 04:51:15.82
>>400
ありがとうございます。クエリの集計の中のWHERE条件というのであらかじめ
絞っておくのですね。私はまだまだ理解できてないようです。

この辺の機能を解説されたページなどもしご存知なら教えていただけないでしょうか?

402 :名無しさん@そうだ選挙にいこう:2012/02/04(土) 00:32:28.22
質問したいのですが。

アクセスから、エクセルを動かすさいに。そのエクセルのワークブックにある
VBAのプロシージャを動かすことはできないのでしょうか?
単純に

Set oWb = GetObject("C:〜\book.xls")

oWb.call hoge

ではエラーのようになるだけなのですが。やはりそれは無理ということなのでしょうか?



403 :名無しさん@そうだ選挙にいこう:2012/02/04(土) 09:56:36.80
>>402
実行環境:Access2002+Windows7

'変数の宣言
Dim objExcel As Excel.Application
Dim s_ExcelPath As String

'オブジェクトの宣言
Set objExcel = New Excel.Application

'「excel.exe」のPathを取得
s_ExcelPath = objExcel.Path

'既存のブックを開く
objExcel.Workbooks.Open ("ファイル名")

'開いたブック内から、特定のワークシートを選択する
objExcel.Worksheets("ワークシート名").Select

'プロシージャ実行
objExcel.Run "プロシージャ名"

'EXCELブックを開く
Shell s_ExcelPath & "\excel.exe " & "ファイル名", vbNormalFocus



404 :名無しさん@そうだ選挙にいこう:2012/02/04(土) 17:17:29.25
>>403
ありがとうございます。わかりました。ワークブックを指定した変数ではなく。
エクセルアプリケーションそのものを指定した変数で
プロシージャをrunするとできるようですね。

とても助かりました。ありがとうございます。

405 :名無しさん@そうだ選挙にいこう:2012/02/05(日) 00:31:37.65
すみません、よろしければ教えてくださいませんか?

フォームを非表示のままデザインビューで開いた後に
非表示のままフォームビューに切り替えるVBAを組んでいるのですが
.visible=flaseにしていても、フォームビューに切り替える時に
一瞬表示が見えてしまいます。
それならと思い、application.echo falseを付加してみましたが、
やはり一瞬切り替え時に表示が見えてしまいます。

切り替え時に一瞬表示されるのが煩わしいので
なんとか回避したいのですが、何か良い方法はないでしょうか?

WinXP,Access2003です。

406 :名無しさん@そうだ選挙にいこう:2012/02/05(日) 00:57:33.50
>>405
試してないからできるのか解らないが、最小化にしておいて後にリストアしてみたらどうか。

407 :名無しさん@そうだ選挙にいこう:2012/02/05(日) 09:44:35.95
Access 2007からできた複数の値フィールド
みなさん使い心地はどうですか?

408 :名無しさん@そうだ選挙にいこう:2012/02/05(日) 09:56:05.87
>>407
百害あって一利なし

409 :407:2012/02/05(日) 10:12:41.76
>>408
後出しで済みませんが、
具体的なご意見をお待ちしております。

410 :名無しさん@そうだ選挙にいこう:2012/02/05(日) 11:20:26.02
複数の値フィールドとか言うから、複数フィールドを1つにパックするようなことかと思ったら(意味無いけど)
ほんとに複数の値が入ってるのか。使える場面はいろいろあるのかもしれんが、あえてこの機能を使って
実装する必然性を感じないな。

411 :名無しさん@そうだ選挙にいこう:2012/02/05(日) 14:47:21.37
複数の値/添付ファイルは、SharePointリストを扱えるようにする機能のひとつなんだろうよ。

412 :名無しさん@そうだ選挙にいこう:2012/02/07(火) 03:37:32.12
accessに関する資格とかあって、就職とか有利だったりすることって
あるんすかね?エクセルまではそこそこでも、アクセスは使える人は
結構少ないのでは?

413 :名無しさん@そうだ選挙にいこう:2012/02/07(火) 10:12:27.47
>>412
accessよりoracleとったほうがいいよ

414 :名無しさん@そうだ選挙にいこう:2012/02/07(火) 14:36:47.27
アクセスの資格なんて評価のしようが無いだろう
一応検定等はあるみたいだが、学んだところで
とても実務で使えるレベルになるとは思えん

415 :名無しさん@そうだ選挙にいこう:2012/02/07(火) 15:31:55.58
Access2002から2010にアップグレードしたところ。
現在ヘルプを流し読み中。
Webデータベース猛烈プッシュでウザいわぁ。
別途SharePointないと使えないじゃん。
しかも「この機能はWebデータベースでは使えません」ばっかり。
データアクセスページで懲りてないんでしょうか・・・。

テンプレートもビジネス用ばかりで、
個人用ユーザーは切り捨てっぽいね。

416 :名無しさん@そうだ選挙にいこう:2012/02/07(火) 20:24:53.74
>>415
まぁぶっちゃけ

Webじゃ絶対使わないしね
それだったらSQL SERVERとのクラサバにする。あれはいらん。

share pointもな・・・
そういうのに向いていると思えない

もともとテンプレも昔からショボいものばかりだし

417 :415:2012/02/07(火) 21:36:36.62
あらら。
オンラインの開発者用リファレンスが表示されない。
オフラインもリンク切れいっぱい。
Access 2007の表記のままのも沢山あるし。
よくこれで発売GOサイン出したな。

頑張ってバグ取りしたけど不具合あって
「大変申し訳ございません。
すぐに修正いたします」
みたいな感覚もう無いんだろうな。

「100%バグ取りはムリですから。
フィードバックしてくれれば、要望の多い順に直しますよ」
みたいな感じか。

418 :415:2012/02/07(火) 21:58:30.90
>>416
初めての頃は
ビデオ管理のテンプレートとか見て、
「こういうのが作れるようになるんだ」と
ワクワクしながら勉強したんで、
切り捨てはちょっと悲しいかなと。

プロからは「しょぼい」と言われ
アマからは「難しい」と言われ
どっちつかずの中、
まだプロになびいちゃうのかぁと。

せっかくExcel感覚で入力しながら
テーブル作れるようになったのに。

複数値フィールドも
プロからは >>408,410 みたいな冷たい反応だし。

419 :名無しさん@そうだ選挙にいこう:2012/02/08(水) 01:28:19.32
>406

試してみたのですが、解決できませんでした。
色々調べた結果、原因と解決方法が導け出せました。

原因:フォームのポップアップが有効。
そのため、application.echoが効かない。

対策:WinAPI32を利用し、Accessのウィンドウそのものを
デスクトップ外に追いやり、開くフォームは.move 0,0,0,0で
画面外に追いやる。
デザインモード終了後、フォームを表示するときに改めて
.moveで座標とフォームサイズを指定し、表示する。


420 :名無しさん@そうだ選挙にいこう:2012/02/11(土) 02:30:10.78
vistaでaccess2007を使ってるのですが
IME入力モードの設定になぜか全ハングル、ハングルという全く必要のない項目が表れて困っています。
どなたかこれらを消去する手段をご存じの方はいらっしゃいませんでしょうか?

421 :名無しさん@そうだ選挙にいこう:2012/02/11(土) 10:54:02.83
帰化して下さい

422 :名無しさん@そうだ選挙にいこう:2012/02/12(日) 09:13:05.23
>>420
ハングルを捨てる

423 :420:2012/02/12(日) 11:44:24.96
当方生粋の日本人でありハングルなど全く理解不能であり
ましてやそんなものをインストールした覚えもなく
いったいどこから混入したのかさっぱりわかりません。
IME入力モードを設定する時にハングルという文字列がいちいち視野の中に入るのが不快なので消去したいのです。


424 :名無しさん@そうだ選挙にいこう:2012/02/13(月) 03:26:41.66
真に受けるなよ

425 :名無しさん@そうだ選挙にいこう:2012/02/13(月) 15:09:34.62
>>423
言語パックや、IME2010などのほうで、登録があるのでは?

前者は、コンパネからアンインスコして、後者はIMEの設定側で削除するとか。

426 :名無しさん@そうだ選挙にいこう:2012/02/13(月) 21:40:39.54
IMEStatusとか調べてみるといいと思うよ

427 :名無しさん@そうだ選挙にいこう:2012/02/14(火) 13:44:18.78
Microsoft Office Access 2003 を使っております。
ACCESSにエクセルを加えて表を出したいと考えてますが、可能でしょうか。
可能なら、どのようにしたらいいかアドバイスお願いします。

例 ACCESS         Excel
                   3月10日      
                   欠席 結果 遅刻
山田 太郎         山田 1   0    1
日にち 2011/3/10    佐藤 0   0    0
欠席 1           戸田 0   0    0
遅刻 1

をACCESSに打ち込んだら自動にエクセルのシートに行くようにしたい。

【 システム環境  】 WindowsXP, Access2003
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否(勉強します。)


428 :名無しさん@そうだ選挙にいこう:2012/02/14(火) 14:27:06.10
自動的といっても、なにかのイベントにひっかける必要があるから、最終項目のafterupdateでクエリとプロシージャ利用したらいいんジャマイカ
全部ウィザードでできるよ
要するに魔法使いだよ

429 :名無しさん@そうだ選挙にいこう:2012/02/14(火) 16:52:09.16
>>428
ありがとうございます。
試しに使ってみます。

今、ACCESSを始めましたw
良く分からないけど、本があったので、使って作ってみます。

430 :名無しさん@そうだ選挙にいこう:2012/02/14(火) 23:05:23.06
【 システム環境  】 Access2007-2010 Windows7
【 VBAが使えるか 】 授業で習っている程度です
【 VBAでの回答  】 可
検索フォームにチェックボックスを5つ配置して、チェックのついたものに関して抽出をかけ、サブフォームに結果(フィールド)を表示させたいと思っています。
チェックボックスはch0,ch1,ch2,ch3,ch4という名前にしています。
Private Sub ch0_Click()
Call ChangeData()
End sub
Private Sub ch1_Click()
Call ChangeData()
End sub
Private Sub ch2_Click()
Call ChangeData()
End sub
Private Sub ch3_Click()
Call ChangeData()
End sub
Private Sub ch4_Click()
Call ChangeData()
End sub
Private Sub ChangeData()
Form_[Qアレルギー検索結果表示のサブフォーム].RowSource = "SELECT * FROM [T定食] WHERE Section1 = " & Me.ch0.Value & _
" AND Section1 = " & Me.ch1.Value & _" AND Section2 = " & Me.ch2.Value & _" AND Section3 = " & Me.ch3.Value & _" AND Section4 = " & Me.ch4.Value
End Sub

しかしサブフォームには結果が抽出されません。どこをどうしたら結果のフィールドだけが抽出され、サブフォームに表示されるのでしょうか?わかる方いらっしゃいましたらお教えください。

431 :名無しさん@そうだ選挙にいこう:2012/02/14(火) 23:16:11.24
>>430
Me.Form_[Qアレルギー検索結果表示のサブフォーム].Form.RowSource =

だとどう?


432 :名無しさん@そうだ選挙にいこう:2012/02/14(火) 23:25:27.25
あと、AfterUpdateのほうがよくないか?

433 :名無しさん@そうだ選挙にいこう:2012/02/15(水) 09:16:56.58
都度、ワークテーブルに書き込んだらどうよ
結果も見やすいし
解決してからテンポラリ化したらいいよ

434 :名無しさん@そうだ選挙にいこう:2012/02/15(水) 21:48:46.44
FormにRowSourceってどうなんだっつーの。



435 :名無しさん@そうだ選挙にいこう:2012/02/15(水) 22:18:53.09
RecordSourceだなw

436 :a:2012/02/16(木) 15:24:59.55
age

437 :名無しさん@そうだ選挙にいこう:2012/02/17(金) 03:34:51.74
Win98, ADT2.0 (レガシで維持されてる専用ソフト)
納入先システム管理者の立場。VBAは理解できるが、修正権なし
Win3.1の頃はMacいじってたので、この世代のOfficeの知識は乏しい

ある(主な)レポートはA3横なのだが、
主なプリンタの設定(OS)をA4にすると、どうやってもA3横なのを覚えてくれない
主なプリンタの設定(OS)をA3横にするとそこは突破できるが、
別のレポートがA4縦で、こんどはこいつがきちんと打てなくなる

チェックすべきポイント教えて

印刷設定、Access 2.0 などでぐぐると、バージョン違いで、
"名前の自動修正情報をトラックする"をいじってみろと出たが、、

438 :名無しさん@そうだ選挙にいこう:2012/02/17(金) 03:45:58.60
付け足すと、この世代のAccessベースのソフトを使用するにあたって、
レポートの用紙設定をきちんと記憶させる「当時の(?)作法」が知りたい、と。

439 :名無しさん@そうだ選挙にいこう:2012/02/17(金) 09:47:38.08
所詮、アクセスなんかは簡易ツールでしかない。
実行時に、毎回設定するプロシージャーを走らせるんだよ
設定⇒ http://www.mahoutsukaino.com/ac/ac2000/monooki/insatsu2000.htm

440 :名無しさん@そうだ選挙にいこう:2012/02/17(金) 12:01:38.42
エンドユーザが特に操作しなくても、Accessアプリ(?)が用紙設定を記憶してるように見えるとき、
レポート毎にオペレータが用紙設定をする方法があるのではなく、
実際には開発側がReport.PrtDevMode を毎回埋めてあげてることが多い、って認識でいい?

441 :名無しさん@そうだ選挙にいこう:2012/02/17(金) 12:35:54.25
Win98ならプリンタをコピーして増やせるだろ

442 :名無しさん@そうだ選挙にいこう:2012/02/18(土) 14:14:15.25
Accessの使い難さったら…桐に戻りたい

443 :名無しさん@そうだ選挙にいこう:2012/02/22(水) 18:26:16.38
これどうなってるのか何でこんなことが可能なのかワカンネ
http://www.accessclub.jp/bbs5/wforum2.cgi?no=17392&reno=17391&oya=17385&mode=msgview&list=new

AccessMVPのムックムックさん、解説記事願います

444 :名無しさん@そうだ選挙にいこう:2012/02/22(水) 18:45:51.25
自分で直接質問して来いよ。俺も知りたい。

445 :名無しさん@そうだ選挙にいこう:2012/02/22(水) 21:58:15.38
まぁ、これでも読んできなされ
http://support.microsoft.com/kb/317535/ja

446 :名無しさん@そうだ選挙にいこう:2012/02/22(水) 22:31:41.92
解りません。ってかそれだとアクセスで直接動かないでしょ。

447 :名無しさん@そうだ選挙にいこう:2012/02/23(木) 12:20:13.76
別に直接動かなくても結果として動いてるように見えていればいいんじゃないの

448 :名無しさん@そうだ選挙にいこう:2012/02/23(木) 13:06:17.52
すげー、動いた


449 :名無しさん@そうだ選挙にいこう:2012/02/23(木) 17:31:17.47
VBAの柔軟さでもって、どとねとの機能を呼び出せるんだよ。
地味にすごいことなんだけどね

450 :437,440:2012/02/23(木) 19:25:28.47
今日再び実機を触れる時間ができ、保守マスタぽい画面の奥に、設定画面を発見した。

めぐりめぐって、もっともベタな解決を見たわけだが、
このスレで、用紙設定はアプリ側がやってる。って確信した後でなきゃ、
不慣れなAccess相手に、保守要員専用画面みたいな、
下手に触ったらDBが壊れそうな(気がする)画面を開く勇気はなかった

まじありがとう

451 :名無しさん@そうだ選挙にいこう:2012/02/23(木) 20:42:54.80
【 システム環境  】 WindowsXP, Access2003
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 Access リストボックス 最後 表示

バーコードでデータを読ませてます。
読ませたデータはINSERTで毎回テーブルに保存してます。
読ませた分だけリ全てストボックスに表示させてます。

やりたい事は
最後に読ませたレコードのデータに
カーソル(?)を持ってこさせて表示させたいです。
100件とか読ませるとリストボックスでは収まらず見えなくなってしまうので・・・

お願い致します。


452 :名無しさん@そうだ選挙にいこう:2012/02/23(木) 23:13:41.36
最後に追加したデータってのはわかるんだろ?
リストボックスのValueプロパティに代入したればいいんじゃねぇの

453 :名無しさん@そうだ選挙にいこう:2012/02/24(金) 20:04:09.75
>>452
ありがとうございました!

454 :名無しさん@そうだ選挙にいこう:2012/02/25(土) 09:45:19.21
あげ

455 :名無しさん@そうだ選挙にいこう:2012/02/26(日) 19:32:18.68
特定のフィールドだけを、レコードごとにファイル出力(txtやHTML)をする事って出来ますか?

456 :名無しさん@そうだ選挙にいこう:2012/02/26(日) 19:47:40.10
>>455
簡単

457 :名無しさん@そうだ選挙にいこう:2012/02/26(日) 23:52:47.92
>>456
ぜひ
ご教授を

できそうで出来ない

458 :名無しさん@そうだ選挙にいこう:2012/02/27(月) 02:40:02.17
何が出来ないと言ってるのかがよくわからん
単にクエリを書き出せばいいだけの話じゃないのか

459 :名無しさん@そうだ選挙にいこう:2012/02/28(火) 22:25:23.74
【 システム環境  】 WindowsXP, Access2003
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可だが、なるべくVBAを使わない方法で。

Accss2003
クエリやテーブルで
選択した行をテキストエディタにコピペすると
フィールド名も一緒にコピーされてしまいますが、
選択した行だけコピーされるようにするには
どうすればいいでしょうか。

460 :名無しさん@そうだ選挙にいこう:2012/02/28(火) 23:06:14.00
無理でーす
dataobjectってのを介すると出来るかもよ、でもメンドイ
コピーじゃなくペーストの方で工夫したらどうよ

461 :名無しさん@そうだ選挙にいこう:2012/02/29(水) 22:29:56.16
>>458
例えばクエリでタグくっつけてhtml生成させる。
そのレコードを吐き出すとく、別フィールドの20120229.htmlってファイル名のテキスト文書で保存したい。

462 :名無しさん@そうだ選挙にいこう:2012/03/01(木) 00:41:47.18
生成したテキストを、取得したファイル名でテキストファイルに書き出してやればいいんじゃないの
書き出しにはファイルシステムオブジェクトを経由してもいいし、昔ながらのPRINT#でゴリゴリ書いてもいい
前者について知りたければMicrosoft Scripting Runtimeで調べれば参考になる

463 :名無しさん@そうだ選挙にいこう:2012/03/01(木) 20:11:42.60
>>462
いや
だからVBAのプロシージャで

464 :名無しさん@そうだ選挙にいこう:2012/03/02(金) 04:10:31.08
アクセスのデーターと、エクセルのデーターを行きかうVBAプロシージャを作って
いるのですが。

アクセスのあるレコードにある「0.0001」のような小数点以下の数値と
エクセルのあるセルにある「0.0001」を

if フィールド("数値") = エクセルの数値 then

のようにifで判定して数値が同じか否かでそれ以下のプロシージャを分岐させ、実行するか否かの文をつくりたかった
のですが、小数点が混じると、数値が同じでも、イコールと認識されないようです。

これはなぜなのでしょうか?数値を文字列の変数に変換してからなら、行えるのですが
二度手間でもあるので。できれば、数値でそのまま判定したいのですが、これは無理な
ことなんでしょうか?

465 :名無しさん@そうだ選挙にいこう:2012/03/02(金) 09:08:52.33
>>464
エクセルが文字列になってるってこと?
StrComp使えば?

466 :名無しさん@そうだ選挙にいこう:2012/03/02(金) 20:47:01.23
>>465
ありがとうございます。一応は解決したのですが、よくわからないです。
例えば
Dim x As Double
Dim y As Double
x = 0.002
y = 0.002

Do Until x > 1

If x > y Then
MsgBox "大きい"
ElseIf x = y Then
MsgBox "同じ"
End If
x = x + 1
Loop

の場合、「同じ」となってくれるんですが、例えばこの場合のxとyを
duex = owb.worksheets〜.cells(1,1)
duac = rs.Fields("数値")

のように、エクセルとレコードからとってきて、その値がともに0.002と上の文と変数の数値は同じだとして、どちらの変数型もDoubleにしてあるのですが。その場合。「大きい」も「同じ」も実行されません。
ただ
duex = owb.worksheets〜.cells(1,1) + 1
duac = rs.Fields("数値") + 1

のようにプラスして小数点を超えた数値にしたりすると、同じと動作してくれて、さらに小数点以下の数値の大小も判別してくれます。この同時プラスとかで対応できるんですけど。なぜこうなるのか。わからないんです

467 :466:2012/03/02(金) 21:08:30.97
ちなみに、小数点が0.001のように、第三位までの小さな数だとこの現象が
起こるのですが。数値が第二位より大きいと起こらないです。

ただ、普通にxとyのように数をプロシージャないで。宣言するのであれば
問題ないんですよね。まぁ、バグみたいなものでしょうか。こういう細かなことで
上手くいかないと、凄い面倒くさくなるんですよね(^^;

468 :名無しさん@そうだ選挙にいこう:2012/03/02(金) 21:27:27.64
*1000とか*10000とかすれば

469 :466:2012/03/02(金) 21:50:19.23
>>468
ええ、そのようにしてやってみることにしますね。ありがとうございました。

470 :名無しさん@そうだ選挙にいこう:2012/03/02(金) 22:10:50.53
既出過ぎて面倒なんで「浮動小数点数 誤差」あたりでググってください

471 :名無しさん@そうだ選挙にいこう:2012/03/02(金) 22:18:18.67
>>470
要は誤差なんですね。なんとなくわかった気がします。
ありがとうございました。

472 :名無しさん@そうだ選挙にいこう:2012/03/03(土) 16:22:57.45
【 システム環境  】 Windows7, Access2010
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 ACCESS CSV インポート データ型の変換エラー

下記の手順でCSVファイルをインポートする作業をしようとしたところ、正しく取り込まれない(テーブル上で空欄になる)データがありました。これを正しく取り込ませるにはどうしたらいいのでしょうか。

取り込もうとしているCSVファイルは費目と金額のデータで、ひと月につき1つのCSVがあります。金額データは最大13桁あり、負の場合もあります。
中身は下記のような感じです。

 [1行目] 費目,金額
 [2行目] S47010,9999999999999
 [3行目] S48000,9999999


作業手順
 (1) 1件目のCSVを、新しいテーブルにインポートする。金額フィールドには『通貨型』を指定。
 (2) 2件目のCSVを、(1)で作ったテーブルにインポートする。

結果
 ・ (2)で、 "[テーブル名]_インポート エラー" というテーブルができました。エラーフィールドには「データ型の変換エラー」と表示されていました。
 ・ (2)で取り込んだ分に、金額フィールドが空欄のレコードがありました。


(2)をする前に、(1)で作ったテーブルの金額フィールドが『通貨型』であることは確認しています。

よろしくお願いします。

473 :472:2012/03/03(土) 16:27:29.28
追記です。

(1)でも(2)でもCSVをインポートするときは、「先頭行をフィールド名として使う」にチェックしています。

474 :名無しさん@そうだ選挙にいこう:2012/03/04(日) 09:33:12.53
該当レコードの金額が元のデータでどうなってるかがわからないと何とも言えん
値が変なのは間違い無いからどこかの段階で直してやる必要がある

475 :名無しさん@そうだ選挙にいこう:2012/03/04(日) 13:15:57.20
はい、VBA終了です

Microsoft Bringing HTML5 and JavaScript to Office 15

By Klint Finley / August 3, 2011 2:00 PM / 7 Comments


Enterprises have long customized Microsoft Office, using Visual Basic for Applications (VBA) and Visual Studio Tools for Office (VSTO).
Now it appears those technologies will have to make room for HTML5 and JavaScript.
ZDNet's Mary Jo Foley reports on a new job listing from Microsoft that indicates that the company is adding JavaScript and HTML5 support to Office.

The good news for legacy shops is that, as Foley says, there is no indication that Microsoft is dropping support for VBA and VSTO.
But this development advances JavaScript's supremacy in the development world and demonstrates Microsoft's seriousness about the language.

476 :名無しさん@そうだ選挙にいこう:2012/03/04(日) 13:19:12.87
Microsoft to focus on HTML5 and JavaScript for Office 15 extensions

By Mary Jo Foley | August 3, 2011, 10:13am PDT

477 :名無しさん@そうだ選挙にいこう:2012/03/04(日) 13:25:41.75
どう読んだらVBA終了になるんかえ?
つーか、いつの記事だっつーのw

478 :名無しさん@そうだ選挙にいこう:2012/03/06(火) 10:33:11.92
ポップアップフォームを前面表示した時に
後ろのフォームのウィンドウサイズが勝手に変わるのが激しくウザいな

479 :名無しさん@そうだ選挙にいこう:2012/03/06(火) 12:44:34.12
どうやったらそうなるの

480 :名無しさん@そうだ選挙にいこう:2012/03/06(火) 14:40:47.79
>>475
>there is no indication that Microsoft is dropping support for VBA and VSTO.

481 :名無しさん@そうだ選挙にいこう:2012/03/06(火) 16:03:30.04
テーブル
・国
・人
・会社
人と会社には国IDフィールド有り。
人と会社に繋がりはない。


リレーションシップの張り方はどっちが良いんでしょうか
1.人─国─会社
2.人─国とは別に会社─国_1

482 :名無しさん@そうだ選挙にいこう:2012/03/06(火) 16:07:38.75
後者です

483 :名無しさん@そうだ選挙にいこう:2012/03/06(火) 16:13:57.48
【 システム環境  】 Windowsxp
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 access オートフィル

2010ver. です。

住所録データの中の電話番号が記載されていないもの(空欄)をクエリで抜き出しました。
そこにダミーの電話番号(一桁からOK)を入れたいと考えています。

抽出されたデータの空欄の電話番号欄に、ダミーの番号を、任意の数字から、
エクセルのオートフィルのような簡単な方法で、入れる方法はないでしょうか。
(たとえば5555555から昇順にスタートなど)

ちょっと検索すると、コード入力などが必要そうに思うのですが、そのあたりがまったくわからないので、困っています。お助けください。


484 :481:2012/03/06(火) 16:27:45.20
>>482
ありがとうございました。

でも2で保存しても再度開くと1になってしまうみたいです。

人IDフィールドを2つ使う関連人物テーブルだと
人─関連人物─人_1
でちゃんと保存されるんですけど・・・。

485 :名無しさん@そうだ選挙にいこう:2012/03/06(火) 16:33:44.08
>>483
まったく意図が解らないな
ユニークな番号が欲しいのならば別にキーを設けた方がいいんじゃないの

486 :名無しさん@そうだ選挙にいこう:2012/03/06(火) 16:34:56.06
>>483
Excelで件数分のオートフィルデータを作ってセルをコピー、
Accessのクエリ結果で電話番号フィールドを選択して貼り付け、
みたいな。

487 :482:2012/03/06(火) 16:38:48.54
>>484
ああ、クエリでの結合設定じゃなくてリレーションシップか・・・
リレーションシップなんて使わんから分からん

要らんw

488 :481:2012/03/06(火) 16:52:39.97
>>487
リレーションシップ張ると壊れやすいとは聞いてるんですが、
連鎖削除が便利なんで使っちゃうんですよねぇ。

ついでに質問ですが、
人や会社テーブルで国IDを使う場合、
コンボボックス使いますか?
テーブルではIDむき出しでフォームでだけコンボボックス?

489 :482:2012/03/06(火) 16:56:35.82
俺はテーブルは剥き出しでIDじゃなく文字で見たいならクエリでやれ派だわ
連鎖削除なんてDBの定期最適化(手動なのか仕込みなのかは知らんが)の時にお互い精査して死んでるレコード消すようにすりゃいいべ

490 :481:2012/03/06(火) 17:10:45.55
>>489
参考にします。
ありがとうございました。

491 :483:2012/03/06(火) 17:44:17.82
>>486
素晴らしい! 頭がいい! ありがとうございました。

>>485
>まったく意図が解らないな

そのようですね

492 :名無しさん@そうだ選挙にいこう:2012/03/07(水) 01:33:23.63
なんだかなぁ

493 :名無しさん@そうだ選挙にいこう:2012/03/08(木) 19:06:11.64
もしかして「日付/時刻型」だと2038年を乗り越えられないですか?

494 :名無しさん@そうだ選挙にいこう:2012/03/09(金) 03:28:54.57
ちょっとした小ネタを

保存ボタンを押したときだけデータを登録・更新させない方法

・フォームのプロシージャー外で変数 (例 Dim UpdateCheck As Integer) を宣言
・フォームのロード時イベントでUpdateCheck = 0 を代入(念のため)
・保存ボタンを押してデータの更新をするイベントの前の行を UpdateCheck = 1、データの更新イベントの後ろの行をUpdateCheck = 0で囲む
・フォームのBeforeUpdateイベントでif文 UpdateCheck = 1 でない場合はme.undo とする

保存ボタンを押してデータの更新をするイベントを通過するときだけUpdateCheck = 1となり更新が許可される、それ以外のケースでの更新はme.undoされるのでデータの更新は行われない

どうですか?結構便利ですよこれ

495 :名無しさん@そうだ選挙にいこう:2012/03/09(金) 03:30:43.47
訂正ね

× 保存ボタンを押したときだけデータを登録・更新させない方法
○ 保存ボタンを押したときだけしかデータを登録・更新させない方法

496 :名無しさん@そうだ選挙にいこう:2012/03/09(金) 04:31:30.25
なんか物凄く昔にやったような記憶があるわそういうの
他者に使わせる目的で組む事をしなくなって久しいからすっかり忘れてたけど

497 :名無しさん@そうだ選挙にいこう:2012/03/10(土) 02:02:59.35
Booleanを使わない理由を知りたい。
領域は同じだけどさ。

498 :名無しさん@そうだ選挙にいこう:2012/03/10(土) 02:24:49.36
>>494
これ大丈夫なの?
データが残っちゃうケースありそうだけど?

499 :名無しさん@そうだ選挙にいこう:2012/03/10(土) 14:18:13.49
>>481
1.と2.は同値だぞ

500 :名無しさん@そうだ選挙にいこう:2012/03/13(火) 23:19:19.93
accessで作りたいのに会社は販売王を導入してる。
販売王は融通きかないから使いたくないのに。

501 :名無しさん@そうだ選挙にいこう:2012/03/13(火) 23:31:32.35
>>500
そのくらいでイラついちゃいけない
仕事なんてそんなもの

502 :名無しさん@そうだ選挙にいこう:2012/03/14(水) 07:27:58.00
>>500
融通の利かない環境で
うまく業務を切り盛りするのが君の役目。
その苦労に報いるために給料が出る。
何もかも自分好みに環境を整えてもらって
かつ給料までもらおうなんて甘いよ。

503 :名無しさん@そうだ選挙にいこう:2012/03/14(水) 13:14:22.61
汎用ソフトはあくまで汎用なんだからしょうがないさ

504 :名無しさん@そうだ選挙にいこう:2012/03/14(水) 16:21:05.97
販売王より良いものを作って置き換えれば。
今ないなら仕方ない。

505 :名無しさん@そうだ選挙にいこう:2012/03/14(水) 18:21:08.90
>>502
使いづらいソフトで業務に支障が出たらそれこそ意味ない。
君は社会経験が無いのかな?

506 :名無しさん@そうだ選挙にいこう:2012/03/14(水) 18:31:23.61
末端の作業員の立場でそんな事を言ってもしょうがないだろう

507 :名無しさん@そうだ選挙にいこう:2012/03/14(水) 18:42:19.04
>>505のほうがよっぽど社会人経験がなさそうな発言な件について

508 :名無しさん@そうだ選挙にいこう:2012/03/15(木) 00:02:51.92
普通はといえるほどいろんなところで働いてはいないが、融通が利くのは社長の顔が見える中小だな。
大企業になると1〜2世代前のPC環境なんてザラだし、ソフト一本入れるだけでいろんな申請をしなくちゃならんし。


509 :名無しさん@そうだ選挙にいこう:2012/03/15(木) 01:26:28.39
1事業所だけの会社でかつ小規模だったら・・・・いや無理だな
仮に誰かが自作の業務プログラム組んだとしてそいつが辞めちゃったら誰がサポートするのよ?
まあ、自分の範疇で収まる仕事でしか使えないよなフツー

510 :名無しさん@そうだ選挙にいこう:2012/03/15(木) 01:28:48.82
数年で200億の売り上げ達成
考え方は個人商店なのだが、人数が700人オーバー
正直もう管理しきれん

511 :名無しさん@そうだ選挙にいこう:2012/03/15(木) 03:39:05.29
【 システム環境  】 Windows7, Access2010
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 可
【 検索キーワード 】 表 Dlookup |まとめて検索 表表示
エクセルからaccessに乗り換えました。
一つのデータに管理コードが二個あり片方のコードを
表に入力しvlookupを呼び出すと作業を一個ではなくまとめて行うには
accessの場合フォームにて作るのでしょうか?
下記様に作りたいのです。
コード1は自分で貼り付けてコード2・型番は自動的に出てくる。
コード1 コード2 型番
555  /  565   A
898  /  469   E
355  /  215   DF
・・・・・
エクセルやテキストで用意したデータを一括まとめてコピペで確認出来る様に作りたいです。
そもそもコピペが出来るのかすらよくわかってませんがよろしくお願いします。


512 :名無しさん@そうだ選挙にいこう:2012/03/15(木) 03:41:13.61
変な所にとが入ってました、失礼しました。

   >表に入力しvlookupを呼び出す「と」作業を一個ではなくまとめて行うには
修正>表に入力しvlookupを呼び出す作業を一個ではなくまとめて行うには

513 :名無しさん@そうだ選挙にいこう:2012/03/15(木) 09:10:19.08
まず、テーブルを作ろう
それには入力用のテーブルとマスタ用のテーブルを作ろう
ここで重要なのはマスタ用のテーブルのコードを主キーにしておくこと
次に、クエリを作ろう
先ほど作ったテーブルを追加し、コードで結合するんだ
フィールドは入力用のコードとマスタ用の型番にしよう

結合が同じ行だけ含めるになっているとマスタに無い入力ができない
それでいいならそのままで
間違っても入力したいのなら、
入力用の全レコードとマスタの同じ結合レコードを含めるにすればいい

ちなみに、テーブルはエクセルのデータがコピー可能だし、
上のクエリなら入力用フィールドのみコピー可能なはず

これで分からないとかいうなら、
こんなテキスト主体のところで聞かずに本読め貸す



514 :名無しさん@そうだ選挙にいこう:2012/03/15(木) 09:32:06.73
>>513
「本を貸していただけるのですか、連絡方法は」とかレスがあったら笑う。

515 :名無しさん@そうだ選挙にいこう:2012/03/15(木) 10:59:55.20
>>513
とても分かりやすい回答ありがとうございます。


516 :名無しさん@そうだ選挙にいこう:2012/03/15(木) 11:01:50.35
× 本読め貸す
○ 本読めカス

517 :名無しさん@そうだ選挙にいこう:2012/03/15(木) 23:50:05.30
そんな蛇足なレスせんでも>>514のオチで充分だったのに

518 :名無しさん@そうだ選挙にいこう:2012/03/18(日) 13:33:07.98
Access15ではデータ型増えるのか?
改行無しテキストと改行可テキストに別れる

519 :名無しさん@そうだ選挙にいこう:2012/03/19(月) 15:34:01.85
Access Bolg のジャン佐藤さんは日本人には見えない件。

520 :名無しさん@そうだ選挙にいこう:2012/03/24(土) 21:02:59.00
【 システム環境  】 XP, Access2000
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 不可
Excelのワークシートをテーブルにインポートするマクロを作りたいんですが
キー違反のため削除となってしまいます。
以下のエラーメッセージの意味が分かりません。
「対象となるテーブルに既に存在する主キー値がはりつけたレコードに含まれているか、
テーブル間に設定されているリレーションシップの参照整合性に違反しています。」

521 :名無しさん@そうだ選挙にいこう:2012/03/24(土) 21:29:17.35
空文字列を許可する

522 :名無しさん@そうだ選挙にいこう:2012/03/25(日) 02:30:13.46
問題点がズバリと書いてあるのに意味がわかりませんというのは質問としてどうなのよ

523 :名無しさん@そうだ選挙にいこう:2012/03/25(日) 17:41:41.97
>>521 ありがとうございました。その部分と、テキストを数値に直したら通りました。

しかしうまく行きませんでいた。
1はAとB、2はAとC、3はAという場合
ワークシートだと
1A
1B
2A
2C
3A
こんな感じで並びますけど
一列目を重複しない主キーとしてインポートするにはどうしたいいんでしょうか?

524 :名無しさん@そうだ選挙にいこう:2012/03/25(日) 20:25:45.14
上の説明じゃ、フィールドの区分けがいまいちわからんが
もし、数字と文字が別のフィールドだとするのなら
キー重複してるけど・・・・


525 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 04:59:15.58
なんか無茶苦茶言ってるな
初球で三振を取りたいと言ってるのと同じぐらい無茶な話だ

526 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 08:01:52.57
>524
すいません、数字と文字は別のフィールドというか列です。

やっぱり一度に取り込むのは無理ですか。
試行錯誤してるうちなんとなくそんな気がしてました。
毎月上記のようなワークシートでデータを渡されるので
それを見やすいように変換したいんですが
どうしたらいいのかさっぱりわからなくて・・

527 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 11:33:06.22
主キーを消せばいいじゃない
重複許可すればいいじゃない
必要なら後でテーブルからテーブルにインポートすればいいじゃない
主キーとかインデックスを理解していないように見えるだけど
ほんとにいるの?

528 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 12:09:30.87
1,A
1,B
2,A
2,C
3,A

ここからまず





のマスタ(名簿)を作ろうと思いました。
そのまま主キーになると思ったんですが・・

529 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 12:33:27.90
数字だけだとなんだかわからないですね
1,いろは,A
1,いろは,B
2,にほへ,A
2,にほへ,C
3,とちり,A

1,いろは
2,にほへ
3,とちり

530 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 13:02:13.63
その程度ならワークシートだけで十分な気もするが
要はユニークなメンバを抜き出して履歴なりを参照したいというだけだろう

531 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 15:01:28.68
最終目的は売上管理して請求書発行です。

532 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 15:44:21.03
それなら尚更重複していたらダメだろう
そして重複を解消するのはワークシートの段階でやっておくべき仕事だ

533 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 16:24:02.07
>>532
そうなんですか。
どうやったらできるのかで丸一日潰したので、
これが分かっただけでもすっきりしました。ありがとうございます。
名簿の方は、ワークシートの方で「重複レコードは無視」フィルタ使って
別のワークシートにコピペすることにします。
なんかスマートじゃないですけどしょうがないですね。。

534 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 17:51:49.73
重複しない親テーブルと重複する子テーブルに分けるという手段もあるけどね
と言うか分けずに1テーブルで済ませるのならば、無理してAccessを使う必要は無いかと

535 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 20:06:13.30
主キーとか必要ないかも
重複排除はACCESSに持ってきてからでもクエリーでできる

536 :名無しさん@そうだ選挙にいこう:2012/03/26(月) 20:12:19.93
1,2,3・・は何だろうか? A、B、C・・は何だろうか?・・
もしかしてこれで請求書が作成できるなんて、ものすごいシステムなのでは、、、
いろは、にほへ、、なんてのは無くても読めるが123とABCの二列だけでとは斬新だ

1 A B
2 A   C
3 A
だとしても、123が請求先? ABCが金額?Aが百万、Bが二百万、Cは三百万だったりするのだろうか
まだ他にフィールド(項目 Excelなら列)あるんだろ? 勝手に端折るから回答来ないんだ

そうでなくてマジで二列しか無い 上記のとおりだ ってんなら、まんまインポートして集計クエリで済むはなし

まぁ、>>526 での、「見やすく・・」ってのも意味不明だが

俺の見方がすっとこどっこいなんかな? だとしたらありったけ俺を叩いてくれ 凹んでみせるから

537 :名無しさん@そうだ選挙にいこう:2012/03/27(火) 08:53:11.90
2列なのはワークシートをインポートする方法だけが趣旨の質問だったから。
実際は500行x20列ぐらいある。

538 :名無しさん@そうだ選挙にいこう:2012/03/28(水) 20:25:24.14
質問です。
Access2007で
フォームを通してでしか
ユーザーがデータを見ることができないようにするにはどうしたらよいでしょうか?

リンクテーブルなどでそういったことは可能でしょうか?




539 :名無しさん@そうだ選挙にいこう:2012/03/28(水) 20:28:33.75
MDEにしてオートでフォーム開けばいいじゃん

540 :名無しさん@そうだ選挙にいこう:2012/03/28(水) 22:04:48.23
デザインやモジュールなどを・・ でなくて、データを だからな
Excelの達人とか居たら引っ張っちゃえるだろうし

数値なら係数を、テキストならなるたけ分類しといてその定型文を  とかをフォーム辺りに
埋め込んで(実際にはAccessじゃなかったからFormじゃないけど) テーブルの内容は
そのフォームを見なきゃ絶対判らない  ってなブツは見たことある
そのテキストボックスの名前とか、テーブルのフィールド名とかも記号化されてて
何の数値なのか、テキストなのかの判別も付きにくかった

解読用の対比表作るのにフルタイムで一週間を要すほどだったから断念したけど、ちょっと狂気を感じた

つか、後々のことまで考慮すれば、データはせめて吐き出せたほうがいいかと

541 :538:2012/03/29(木) 00:32:53.64
>>539 やったことないのでやってみます。
>>540 大量の蓄積データを社外に持ちだされて簡単に利用させないようにしたいんですが、やっぱり難しそうですね。

レスくださった方、ありがとうごまいました。

542 :名無しさん@そうだ選挙にいこう:2012/03/29(木) 00:46:45.46
一応ロックをかけたりも出来るけどね
自分自身も開けないという事故が無いとも限らないので
あまりおすすめは出来ないが

543 :名無しさん@そうだ選挙にいこう:2012/03/29(木) 09:01:06.73
>>542
おせーてくらはい

544 :名無しさん@そうだ選挙にいこう:2012/03/29(木) 10:57:39.41
リンク非表示MDEでFA?

545 :名無しさん@そうだ選挙にいこう:2012/03/29(木) 11:08:23.64
リンクテーブルはなく、フォームやレポートのレコードソースに、
IN句で外部テーブルに接続するSQLを書くのは?


546 :名無しさん@そうだ選挙にいこう:2012/03/29(木) 11:32:48.74
こういう要望はたまに出るけど、正直言って管理が面倒なわりにはメリットが少ないと言うか、
むしろメンテナンス性が悪くなって邪魔になる事の方が多い気がする

547 :名無しさん@そうだ選挙にいこう:2012/03/29(木) 12:56:25.33
まあ、本気でデータを持ち出す奴は、
プリントアウトしたり、やデジカメで画面を撮ってでも持ち出すからねぇ

548 :名無しさん@そうだ選挙にいこう:2012/03/30(金) 15:08:39.12
access2000から2010に変わったら浦島太郎状態だ…色々手探りですが、
オブジェクト(フォーム)のショートカットをデスクトップへって出来なくなったんですか?
何か良い方法ないですかね…ググっても出てこない;;


549 :548:2012/03/30(金) 15:57:05.43
自己解決すいません


550 :名無しさん@そうだ選挙にいこう:2012/03/30(金) 20:52:10.85
解決したら、結果なり、その方策なりを書きなさい

551 :名無しさん@そうだ選挙にいこう:2012/03/30(金) 20:57:26.16
魁傑

552 :名無しさん@そうだ選挙にいこう:2012/03/30(金) 21:29:37.97
そんなやりかたがあったのか、逆に目から鱗だった
つうかフォームのショートカットて、それは起動時の諸々が効くんかな?
・・・・・
ダメじゃん、、、 DBウィンドウ隠すと起動しない、、、、

553 :名無しさん@そうだ選挙にいこう:2012/03/31(土) 09:27:06.15
フォームをポップアップでその他もろもろを最小化すれば、でけたような気がするけど

554 :名無しさん@そうだ選挙にいこう:2012/03/31(土) 09:29:46.08
2010ならオーバーラップフォームで良いじゃん

555 :名無しさん@そうだ選挙にいこう:2012/03/31(土) 10:26:25.14
>>554
オーバーラップちゅーかスタックちゅーか、タブドじゃない方ね

556 : 忍法帖【Lv=2,xxxP】 :2012/04/06(金) 15:48:04.99
こちらで聞いていいかどうかわからないんですが、わかる方教えてください。

accessでSQL編集したり、クエリのフィールド名を変更したりする際によく起きる現象なんですが、
ひとつの単語の間にカーソルを置いて編集しようとすると、カーソル置いた右側がすべて選択状態になり、
入力しようとすると全部消えてしまいます。
気がつくといつのまにか治ってることが多いのですが。。
関係ないかもですが、Accessは2003でも2007でも起こります。

例えば
SELECT T社員名簿.社員番号, T社員名簿.社員名
FROM T社員名簿
WHERE (((T社員名簿.[社員名]) Like '*[藤野]*'));

Likeを編集しようとすると後ろの全部が選択されてしまいます。VBAのコード画面ではそうならないんですが。。。

557 : 忍法帖【Lv=3,xxxP】 :2012/04/06(金) 16:20:32.53
自己解決しますた^^

558 :名無しさん@そうだ選挙にいこう:2012/04/09(月) 09:39:53.78
>>547
なんとなく

どんなコピーガードを施しても再生しているところを別のハードで録画されたら流出させてしまう。
これの対策として再生データをディスクに含めず空きディスクとすることでこのディスクからの映像流出を100%回避することに成功した。

を思い出す

559 :名無しさん@そうだ選挙にいこう:2012/04/11(水) 17:27:01.97
【 システム環境  】 Windows7, Access2007
【 VBAが使えるか 】 初心者ですが何とか。
【 VBAでの回答  】 可
【 検索キーワード 】 レコード、取得、行

あるクエリを元にした複数レコードを表示させるフォームが有ります。
そのうちのいくつかのレコードの表示色を変えたいのですが、
「条件に合う複数行を取得する方法」が分かりません。
DLOOKUPでは1レコードしか取得できないし。
考え方や使う関数のヒントだけでもいいので教えてください。


560 :名無しさん@そうだ選挙にいこう:2012/04/11(水) 18:13:46.54
>>559
条件書式じゃあかんのか。

561 :559:2012/04/11(水) 19:42:13.93
>>560
条件付き書式の設定でできました。
ありがとうございました。

562 :名無しさん@そうだ選挙にいこう:2012/04/24(火) 22:34:34.31
【 システム環境  】 WindowsXP, Access2000
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 可
テーブル@には品名と在庫量(品名の種類は約8000件)
テーブルAには品名と入荷日、入荷数量が入ってます。(約90000件)

テーブル@品名の在庫量に対し、
テーブルAよりその在庫がいつ入荷したものなのかを表示したいのです。
(現在の在庫量に見合うだけの入荷数量を入荷日が新しい順から拾う)


テーブル@
リンゴ/在庫10
テーブルA
リンゴ/3月/5個
リンゴ/4月/6個
リンゴ/5月/8個

結果⇒
リンゴ10個 5月/8個
4月/2個

クエリとビルド式で出来そうな気がするのですが、手詰まりになってしまいました。
お助けください・・・

563 :名無しさん@そうだ選挙にいこう:2012/04/25(水) 00:24:07.05
>>562
クエリじゃ無理じゃねーの、直感だけど。
仮にできたとしても応答時間がとんでもないことになって、とても実用的ではなさそう。
VBAなら降順でソートしたものをレコードソースとし、あとはループさせて条件式でごにょごょする感じだな。

564 :名無しさん@そうだ選挙にいこう:2012/04/25(水) 09:17:30.97
c

565 :名無しさん@そうだ選挙にいこう:2012/04/25(水) 10:01:54.57
クエリとビルド式で出来そうな気がする根拠がわからん
せめて、何をどうすればできそうかを言えよ

素直にロット管理して消込が正解だと思うけど

それをやらない糞環境は、たいていダメダメだったな。


566 :名無しさん@そうだ選挙にいこう:2012/04/25(水) 18:56:50.97
クエリで入庫件数分のレコードを作ってその結果に対して集計をかければ出来なくもないな

要は集計されてる入庫テーブルを1個数/1レコードに展開したものから在庫件数分を新しい順に抜き出して
再度日付毎に集計するという事だけど

これならクエリだけで出来るはずだが面倒だから具体例は書かない

567 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 15:13:34.05
▼━質問テンプレ ━━━━━━━━━━━━━━━━━
【 システム環境  】 Windows7, Access2010
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 アクセス クエリ エクセル
VBAはそこそこ読めますが、SQLはまださっぱりです。

アクセスで作った住所録を、エクセルで読みこんで(アクセスのデータ→Accessデータベースよりクエリを選択)データをを利用したいと思っています。
そのためのクエリが、アクセス上では問題なく抽出ができているのですが、エクセルでは一部の絞り込みができていません。


目的…福島・宮城以外の30歳以上の男性を抽出したい。
方法…アクセスで住所「not (*福島県* or *宮城県*)」、性別「男」、年令「>=30」でクエリを作る。
結果…アクセスでは問題ないが、エクセルでは全国の30歳以上の男性が表示される。

クエリを作った時は、
フィールド:住所に抽出条件 not (*福島県* or *宮城県*)
とあったのですが、一度保存して再度開くと
フィールド ([名簿].[住所]) Like "*福島県*" Or ([名簿].[住所]) Like "*福島県*") 抽出条件Falseとなっています。
このあたりが問題なんでしょうか。

住所であれば郵便番号で大なり小なりの絞り込みをすれば不可能ではないのですが、not(*hoge1* or *hoge2*)という「hogeを含まない」という抽出をよくするのでなんとか解決したいと思っています。
よろしくお願いします。

568 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 18:18:27.27
クエリがおかしいのなら抽出条件の書き方を改めるか
あるいはフィルタで弾けばいいのではないか

569 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 21:50:04.34
windows xp
access 2000

まず名簿を作ります。50人ほどの名前をうちこみます。
それから、その一人一人が、何日にシフトかを打ち込みます
例 Aは3日6日9日 Bは3日5日7日 Cは5日のみ 

それに加えて、各人にいくつかの補足情報をいれます。

最終的には、その当日を指定すると、その日が当たっている人物の一覧と
加えて、補足の情報が一覧できる。そんな風にしたいのですが

これはアクセスで可能でしょうか?また適切なのでしょうか?
当方、エクセルワードパワポはそれなりに使えるのですが
アクセスはまったく不勉強で、この処理にアクセスが適切なのかが
まず判断できずにいます。
特に、日付から、メンバーをソートして一覧する・・というのができるのかが疑問です。

素人質問で申し訳ないのですが、お助けいただけないでしょうか。
お願いします。

570 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 22:07:37.76
その程度の事は造作も無いが、その前にまずテーブル設計の基礎から勉強すべきだな

571 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 22:09:57.99
>>569 に無慈悲な懲罰を下すのは容易だ、数日で焦土と化すだろう

572 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 22:10:42.28
>>569
可能です。まずは、試用版をダウンロードして、解説を読みながら試しに作ってみると良いですよ。
Excel のフィルタやデータベース関数では手に負えなくなったら、Access の出番です。

573 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 22:12:08.38
人が居るんだか居ないんだかよくわからんスレだな

574 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 22:17:21.72
>>569
桐で可能です。まずは、試用版をダウンロードして、解説を読みながら試しに作ってみると良いですよ。
Excel のフィルタやデータベース関数では手に負えなくなったら、桐 の出番です。

Excel からAccessは不自由過ぎてアホらしいです。

575 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 22:20:38.82
>>570-2
どうもありがとうございます
勉強不足と言われるのは承知のうえでしたが
可能と一言いただけただけで充分です。

とにかく休日もなく仕事で、アクセス覚える時間もことかくありさま・・
アクセス使えばできる・・はず・・と思いつつ、
初心者には結構むずかしく、質問しました。

とにかく、作成入門の本は準備してあるので、一から勉強させてもらいます。
どうもありがとうございましたっ!



576 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 22:36:36.82
一つ助言を与えるならば、名簿と履歴は別テーブルにすることだな
逆に言えば、テーブルを分けないのならばRDBを使う必然性はあまり無い

577 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 22:39:00.10
そこで桐です、そのままで自由自在

578 :名無しさん@そうだ選挙にいこう:2012/04/27(金) 22:42:44.89
桐とかNEC版しか持ってないわ
機械が無いけど

579 :名無しさん@そうだ選挙にいこう:2012/04/28(土) 15:33:01.60
>>573
まったく

580 :名無しさん@そうだ選挙にいこう:2012/05/01(火) 17:41:35.07
このメンバーの説明は、Office 14 の最終リリースに表示されます。

581 :名無しさん@そうだ選挙にいこう:2012/05/03(木) 17:53:10.50
2007/01 Access2007
2010/06 Access2010
で、次はAccess15(仮)か。
JETじゃなくなってから3つ目。あっという間だ。
Access2003、あと2年でサポ終了なんだな、はぁ〜。

582 :名無しさん@そうだ選挙にいこう:2012/05/04(金) 21:45:54.67
立ち寄ってみた 桐って体験版あるのね
それはそれでいいこときいた 遊んでみようかな

…関数名がたいがい日本語…w

583 :名無しさん@そうだ選挙にいこう:2012/05/04(金) 22:28:24.71
ジャストもデータベースなかったっけ?

584 :名無しさん@そうだ選挙にいこう:2012/05/06(日) 09:52:44.85
五郎

いまはないらしい(Wikiより)

585 :名無しさん@そうだ選挙にいこう:2012/05/07(月) 09:05:49.18
ACCESS2010のADP形式でSQLServer2008に接続しているのですが、
しばらくフォームを開けっ放しにしているとコネクションが切断されちゃいます。
これって2008からの仕様でしょうか・・・?
(ACCESS2003+SQLServer2005では起きなかったので不思議に思っています)

586 :名無しさん@そうだ選挙にいこう:2012/05/07(月) 09:16:23.93
>>577
桐使うくらいならファイルメーカーお勧める

587 :名無しさん@そうだ選挙にいこう:2012/05/07(月) 13:12:56.06
桐使うくらいならファイルメーカーを勧める
→ファイルメーカー使うくらいならAccessを勧める
→Access使うくらいならMySQLを勧める
→MySQL使うくらいならOracleを勧める

588 :名無しさん@そうだ選挙にいこう:2012/05/07(月) 14:23:29.70
→Access使うくらいならMySQLを勧める
これはない

589 :名無しさん@そうだ選挙にいこう:2012/05/07(月) 14:26:35.44
MySQLはいかんですか?

590 :名無しさん@そうだ選挙にいこう:2012/05/07(月) 14:52:49.38
MySQLは、Accessのバックエンドで使う

591 :名無しさん@そうだ選挙にいこう:2012/05/07(月) 15:01:26.71
オラクルは、桐のバックエンドで使う
DOS時代からオラクル専用桐があったくらい相性良く作ってある

592 :名無しさん@そうだ選挙にいこう:2012/05/07(月) 15:38:02.52
最近はローカルDBはもっぱらsqliteだな

593 :名無しさん@そうだ選挙にいこう:2012/05/08(火) 18:01:13.02
access使い始めてみたけど難しすぎ(+д+)
積算がしたいだけなのに

594 :名無しさん@そうだ選挙にいこう:2012/05/08(火) 18:04:35.87
>>593
EXCELでやれ、それで不満なら桐

595 :名無しさん@そうだ選挙にいこう:2012/05/09(水) 02:06:10.74
accessって楽しいね。

596 :名無しさん@そうだ選挙にいこう:2012/05/09(水) 02:34:06.52
あくせくコード書くのがね

597 :名無しさん@そうだ選挙にいこう:2012/05/09(水) 08:25:36.20
>>593
ボリュームのあるデータの処理や、ルーチンで頻繁に使うようなものはAccessが
向いているが、そうでないものは、Excelで十分よ。

ただし、Excelで関数を死ぬほど使っているような馬鹿なシートを作っているものを
頻繁に見かけるが、あれは話にならん。5重6重で入れ子にするなら、自分で関数
作れと言いたい。

598 :名無しさん@そうだ選挙にいこう:2012/05/09(水) 13:06:07.99
VBA不可な互換ソフトでも走るように…かな

599 :名無しさん@そうだ選挙にいこう:2012/05/09(水) 18:40:40.86
USBメモリで持ち歩いて別のPCで使うのってやっぱダメ?

600 :名無しさん@そうだ選挙にいこう:2012/05/09(水) 18:52:24.68
MDBを?
いいんじゃない

601 :名無しさん@そうだ選挙にいこう:2012/05/09(水) 21:07:25.13
Access ランタイムで作業できるようにしとけば、文句いう人は少ない

602 :名無しさん@そうだ選挙にいこう:2012/05/10(木) 18:11:23.63
>>599
ぜんぜん問題ない。
同じDBでもSQL SERVERはUSBメモリで持ち歩けないから簡易DBとしてアクセスの本領発揮だよ

603 :名無しさん@そうだ選挙にいこう:2012/05/10(木) 20:05:46.66
やったー

604 :名無しさん@そうだ選挙にいこう:2012/05/11(金) 09:32:53.62
AccessもランタイムなしのEXEファイル作れるようにしてくれたらいいのにね

605 :名無しさん@そうだ選挙にいこう:2012/05/11(金) 09:50:40.95
vbだってランタイム要るんだぜ
javaや.netも形を変えたランタイムみたいなもんと言えなくもない。

かもしれない

606 :名無しさん@そうだ選挙にいこう:2012/05/12(土) 02:54:01.50
【 システム環境  】 XP、access2000 か2003
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否

クエリを作成していますが、テーブル内の抽出条件で悩んでいます。

テーブル内の[F1]に「1234-20120512-1234」などの数値が入るとして、
先々月のデータのみ抽出したいのですが、どのように抽出したら宜しいでしょうか?
※10番目11番目の文字を先々月(今月であれば'03')で抽出したいです。
下記で試したところ、Dateに""が付き、
無視してクエリを実行すると「抽出条件でデータ型が一致しません。」とエラーが出ます。

【フィールド】
式1: Mid([F1],12,2)

【抽出条件】
IIf(Month(Date)=1,11,IIf(Month(Date)=2,12,Month(Date)-2))

607 :名無しさん@そうだ選挙にいこう:2012/05/12(土) 03:11:49.60
逆じゃない?
先月、先々月をテキスト化("04"、"05"など)してデータを文字列関数で抽出すればいいのでは?

608 :名無しさん@そうだ選挙にいこう:2012/05/12(土) 04:11:47.09
>>606
F1はそのまま

【抽出条件】
Mid([f1],6,6)=Format(DateAdd("m",-2,Date()),"yyyymm")

609 :608:2012/05/12(土) 04:13:21.86
あ、2000だとFormatがやばいかもしれない。

610 :名無しさん@そうだ選挙にいこう:2012/05/12(土) 05:26:12.98
>>606
結論から言えばDateのあとに括弧がないからDateという文字列だと認識されたんじゃないの。
あと文字列関数(Mid)を使っているから暗黙の型変換で式1は文字列なっている。
対して抽出条件が数値型であるから、抽出結果は常になしになるぞ。
ま、がんばって。

611 :名無しさん@そうだ選挙にいこう:2012/05/12(土) 05:31:32.81
書き忘れた。
大文字で書いてあるからって、大文字は使うなよ。常に小文字で書け。
エンター押して大文字にならなかったらスペルミスしているということだから
バグ取りに役立つぞ。

612 :名無しさん@そうだ選挙にいこう:2012/05/12(土) 14:57:10.65
その都度年月入れてフィルタすりゃいいじゃんかよくだらねぇ

613 :名無しさん@そうだ選挙にいこう:2012/05/16(水) 09:03:13.75
お世話になります。Access2000で以下のようなコードを書いて、Application Echoを設定しても、画面のチラ付きが消えません。テキストボックスに.SetFocus()する度にカーソルのちら付きを抑えるには、どのようにすればよいでしょうか。

Application.Echo False

For l = 0 To .Controls.Count - 1
Select Case .Controls(l).ControlType
'テキストボックス
Case 109 'acTextBox
.Controls(l).SetFocus
End Select
Next l

Application.Echo True


614 :名無しさん@そうだ選挙にいこう:2012/05/16(水) 10:52:43.02
exit for しろよ

615 :名無しさん@そうだ選挙にいこう:2012/05/16(水) 16:32:36.16
>614
いや、フォーム上の全コントロールを舐めて、値をチェックしたいのですが、やはり無茶でしょうか(;´∀`)。

616 :名無しさん@そうだ選挙にいこう:2012/05/16(水) 19:27:55.18
値をチェックするのになんでフォーカスを移す必要があるんだよ

617 :名無しさん@そうだ選挙にいこう:2012/05/16(水) 20:52:14.95
hoge

618 :613:2012/05/17(木) 09:03:48.52
>>616
ありがとうございます。うまくいきました。
しかし、ExcelのScreenUpdatingみたいに、テキストボックス.SetFocus()時の画面描写一時停止というのは、うまく行かないですねぇ。


619 :名無しさん@そうだ選挙にいこう:2012/05/17(木) 16:42:49.01
【 システム環境  】 WindowsXP, Access2007
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 否
【 検索キーワード 】 テーブル 設計

ttp://s1.gazo.cc/up/s1_23443.jpg
上のような商品ごとの行程表テーブルを作りたいです
商品は数万種類あります
商品によって行程が1つから多くて20ほどあるので列で分けています
行程1のテーブル、行程2のテーブルと分けた方がいいのでしょうか

620 :名無しさん@そうだ選挙にいこう:2012/05/17(木) 17:35:12.27
いくつテーブルを作るつもりだよw
工程数が固定なら画像のこれでいいかもしれないが
そうじゃないなら最低必要なのは商品、工程番号、工程

正規化以前の問題だな

621 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 00:08:07.85
VBA覚えないとできない処理ってAccessであるのでしょうか?
とんなことがきっかけでコードを書くようになりましたか?

あと、熟知するのに近道はありますか?

622 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 01:27:16.32
>>621
いっぱいある
出来ないことをしたいからコードを書くようになった
近道は実際に必要なDBを作ること、特に必要でないDBを練習のために作ろうとしてもモチベーションが続かない
あとは根気よく出来ないことを調べて出来るようになること

623 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 03:41:31.79
VBAがどうのっつーか、Accessを使う一番の動機は強力なフォームだろう
フォームが充実したなら機能も充実させたいというのは至極当然の流れじゃないのかね
クエリだけでも欲しい結果は得られるかもしれんが、恒常的に作業をするなら
自動化というのは避けては通れないだろう

624 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 08:17:56.38
楽しようと思ったら、VBAを使わないと出来ない処理が出てきてって言う感じだな。
自分の場合、蓄積データを毎月さまざまな角度から集計して、グラフなりリストなり作成して
上司に提出するんだが、グラフは、ボタンおしたらエクセルに自動出力されて、
リストは、アクセスで必要なレポートすべてが印刷される。
エクセルのグラフの今月のみ値を表示させるとかも、全部アクセス側で処理してる。
上の人と同じような意見になるけど、必要もないのにコードを書く必要はないし、
それだと、なにから勉強していいかさっぱり分からないと思う。

マクロが使えているなら、マクロをモジュールに変換して、中身を確認して
それを、フォームのボタンに割り当ててみるとかいいかもね。

625 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 08:40:57.02
>>621
Access2010なら全部マクロで良いよ〜ん

626 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 09:40:34.39
× 良いよ〜ん
○ 良いです

正しい日本語を使え

627 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 11:07:17.74
Access2010なら全部マクロで良いですよ〜ん

628 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 11:25:27.40
>>621
マクロだけでできることは限られているので、すこしづつ必要な分だけVBAを覚えると
良いですよ。

何も、全部覚える必要はないし、Win32 APIや、.Net Framework APIなんてものま
で手を伸ばさなくていい(伸ばせばやれる幅は広がるけれどね)。

超基本であるプログラミングスタイルと、関数。これだけでいい。
あとは人がつくったクラスなんかをそのまんま拝借して使うとかね。

629 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 11:46:08.53
プロパティプロシージャとキーボードイベントのKeyCode/KeyAscii拾うの以外は、全部マクロでOK

630 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 11:47:06.72
最近は、プロパティプロシージャもマクロで作ってる
マクロ最強だよ

631 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 11:58:51.58
脱VBAを意識しておけば、ゆくゆく予算カットで、
互換ソフトでの開発・運用に甘んじることになっても、
なんとかつぶしが利く…ような気が最近する。

VBAに、できること。VBAでなくても、できること。

632 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 17:41:11.91
OS WindowsXP
ACCESS2000

基本的なことかもしれませんが、検索しても見つからなかったので相談させて下さい。

例えば
テーブルA
*人名,郵便番号

テーブルB
*郵便番号,住所

クエリA
人名,郵便番号,住所

としたい時、テーブルAの郵便番号フィールドに
テーブルBの主キーに存在しない郵便番号が入力された場合クエリAに出てきませんでした。
テーブルBに存在しない郵便番号の人は住所不明としてクエリAに載せたいのですが、どのように処置すればよいですか?

633 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 17:51:43.88
結合線をダブルクリック

634 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 18:02:56.81
小さなWebショップをやっていて在庫管理と売上管理のためにAccessを使おうと思っています。
Windows7 64 Access2010なのですが、最初からデータベース作る時間と気力が無い為
ノースウィンドウを初期化して使おうと考えているのですが
テーブルでデータを消そうとするとリレーションの関係で消せませんでした。
上手い事サンプルデータベースを初期化する方法ありませんか?教えて偉い人 <(_ _)>
VBAは使えません。2003までのAccessで簡単なマクロを少し使える程度のスキルです。
宜しくお願いします。

635 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 18:03:58.40
下げ忘れました。すいません・・

636 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 18:09:45.78
>>631
予算カットされたからAccess使ってんじゃん

637 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 18:21:24.95
>>634です。
エラーメッセージたどって削除し初期化が出来ました。
思っていたより簡単でした。お騒がせしました。<(_ _)>

638 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 18:29:33.16
>>634です。
追伸です。マクロに『すべてのデータを削除』がありました;
ボタン一つですべて削除できました。

639 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 18:46:57.56
<(_ _)>

640 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 19:48:45.07
クエリって何の為にあるの?

641 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 20:16:31.86
選択クエリって、VLOOKUPとどう違うの?

642 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 20:36:09.73
データベースに問い合わせる手段がクエリだろう
選択クエリというのはDBに問う質問の中の一つに過ぎん

643 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 20:40:32.09
VLOOKUPってどっちかっていうと、リレーションじゃないの?

644 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:11:30.70
>>640
EXCELと違って、データベースは超大量にデータがあるので全部を対象に処理してたら時間が掛かる
大量データの一部を取り出して、それを対象に処理します
その一部を足り出すのがクエリ

645 :名無しさん@そうだ選挙にいこう:2012/05/18(金) 21:58:24.83
>>636
予算カット後にAccess使えるとかまじうらやま

646 :名無しさん@そうだ選挙にいこう:2012/05/19(土) 18:08:43.77
http://static.pinnula.fr/news/i/office-15.0.2714.1001-access.png

647 :名無しさん@そうだ選挙にいこう:2012/05/19(土) 21:38:06.27
>>645
あ、やっぱりそういう流れなんですよね。最近のICTは(汗)。

648 :名無しさん@そうだ選挙にいこう:2012/05/20(日) 01:53:36.70
ACCESS2010
テーブルのを開くときに、
コンボボックスを設定した時の「入力チェックプロパティをいいえにできません」というエラー。
問題個所を直してテーブルを開くとエラーは出なくなりましたが、
このテーブルを元にしたクエリを開くときに同じエラーがでます。
元のテーブルを直したのに、なぜクエリでエラーがでるのでしょうか?
クエリを作り直してもエラーが出ます。


649 :名無しさん@そうだ選挙にいこう:2012/05/20(日) 09:05:01.59
やっぱりAccessって、VB6に似てますよねぇ。グリッドコントロールとか抜けてるコントロールはありますが。

650 :名無しさん@そうだ選挙にいこう:2012/05/20(日) 16:53:25.07
しかし、今のリッチクライアントの時代、Accessでアプリなんか作られたら、反感買われないかな?


651 :睡蓮 ◆ClPzOlZSTQ :2012/05/20(日) 18:05:23.97
テスト

652 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 11:33:24.26
Access2000です。

既に何百レコードもあるテーブルを単票形式のフォームで表示して編集する、ということを日常的に行っているのですが、目当てのページを開くのに手間がかかってしまいます。

フォーム上にボタンかコンボボックスを配置して、VBAで目当てのレコードに飛ぶように処理しようかと思っているのですが、他にもっと簡単に付属の機能で実現することは出来ますか?

クエリの抽出条件で毎回条件を入力して1レコードずつ表示しなおす、というのではなく、フォームは開きっぱなしで操作したいです。

653 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 12:17:05.16
>>652
Accessだと何百レコードしかないという表現のほうが妥当だと思うが。
ExcelでVlookup使っても実用に耐えるレベルじゃないの。

>手間がかかってしまいます
これは「手間取っている」の間違いか? それとも抽出に時間がかかっているという意味か?



654 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 12:25:13.57
>>652
標準メニューバーにレコードの検索ってあるっしょ

655 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 14:00:27.64
クエリにてテーブルの最終日を取得して表示する演算・関数はありませんか。
例えば注文1つごとに追加されていくテーブルに日付フィールドがあって、クエリでAさんの最終注文日を表示したいです。

656 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 14:05:08.43
Dmax

657 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 18:36:41.77
>>652
今試してみたけど、コンボボックスをウィザードで作成し
コンボボックスで選択した値に対応するレコードをフォームで検索する、で作成。
後は最初からフォーカスを当てておくとか、マウスを持たないでいいように、
ファンクションキーに当てておくとか、いろいろやるとかなり楽になると思います。

658 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 18:40:26.50
>>644
クエリーで、名前でグループ化して、日付を最大にすればいいんじゃない?

659 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 19:31:03.69
クエリで何もしなければテーブルをレコードソースにしてフォームを作ってもいいのですか?

660 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 19:43:36.35
なんでお前らは回答されてる質問に更に回答するのか

661 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 19:58:54.65
テーブルとクエリの違いなんて、ソースを物理的に示すか論理的に示すかの違いでしかない

662 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 20:23:42.61
>>661
テーブルって物理的なのか

663 :名無しさん@そうだ選挙にいこう:2012/05/22(火) 21:49:27.91
事務机とかだろ

664 :名無しさん@そうだ選挙にいこう:2012/05/23(水) 12:16:23.28
はいすべったぁー

665 :名無しさん@そうだ選挙にいこう:2012/05/23(水) 15:09:13.32
は  いす  べったぁー   プッ

666 :名無しさん@そうだ選挙にいこう:2012/05/23(水) 20:04:10.41
自分の所属しているメンバーの情報だけ情報がみれるように、つくりたいんだけど
どう作ればいい?

667 :名無しさん@そうだ選挙にいこう:2012/05/23(水) 20:07:09.25
パスワード入れて検索画面に行かせてクエリ掛けさせればいいんちゃう?

668 :名無しさん@そうだ選挙にいこう:2012/05/23(水) 20:09:12.33
>>667
パスワードによってクエリを変えるってこと?
あとテーブル、クエリ、レポートをさわれないよーにするにはどうすればいい?

669 :名無しさん@そうだ選挙にいこう:2012/05/23(水) 20:21:33.98
>>666
テーブルとフォームを分けて、フォーム部だけを部署に渡せばいいんじゃないの。DB部とフロントエンド部を分けるということね。
編集等については、使ったことないけどセキュリティーでアクセスレベルを変えられるんじゃないのか。

670 :名無しさん@そうだ選挙にいこう:2012/05/23(水) 20:23:02.68
>>669
ほとんどないと思うが、それで同時アクセスって耐えられます?

671 :名無しさん@そうだ選挙にいこう:2012/05/23(水) 20:43:42.45
作り方に拠るよ。
連結は同時使用に弱い感じだね。同じレコードに書き込みなんかしたら、最悪DBが飛ぶ。
排他処理に気を使わなくてはいけない感じか。
非連結も同様だけど、連結よりはましだった。

ま、アプローチの仕方はいろいろあるべさ。データ更新ボタンを作って
必要分のデータだけをローカルに落とすとかしてもいいわけだし。




672 :名無しさん@そうだ選挙にいこう:2012/05/23(水) 23:54:04.78
>>670
2002の頃ですが、実テーブルを徹底して分けるとmdbはトバない、というアドバイスを頂いて、
ネットにテーブルだけのバックエンドmdb置いて、利用者20人強にはruntimeでリンクテーブル、クエリ、フォーム、レポート、モジュールだけのフロントエンドmdbを使ってもらう運用を3年ほどやっていました。
バックエンドは一度も不具合ありませんでした。
ローカルの作業用テーブルも別mdbにしてました。


673 :名無しさん@そうだ選挙にいこう:2012/05/24(木) 12:07:00.44
表フォームから詳細を表示した単票フォームを開く時、
http://www.wanichan.com/pc/access/faq/07.htm
ここにあるやり方のように

Private Sub F_詳細表示_Click()
On Error GoTo Err_F_詳細表示_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "e_詳細"

stLinkCriteria = "[ID]=" & "'" & Me![ID] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_F_詳細表示_Click:
Exit Sub

Err_F_詳細表示_Click:
MsgBox Err.Description
Resume Exit_F_詳細表示_Click

End Sub

とやると、開かれた詳細は条件抽出されたものなので
他のレコードの詳細情報を見るにはまた元のフォームのボタンを押しにいかないといけません。

条件抽出ではなく、単票フォームを開く時特定のページで開くというのは出来ませんか?

674 :名無しさん@そうだ選挙にいこう:2012/05/24(木) 12:59:22.88
普通に開いてから移動させればいいんじゃないの

675 :名無しさん@そうだ選挙にいこう:2012/05/24(木) 13:24:14.13
ttp://answers.microsoft.com/ja-jp/office/forum/office_2010-access/office2007-2010/5f0eac04-aac8-4585-9a92-aa0f4fac75fb?tm=1332748775033&lc=1041

これわからん

676 :名無しさん@そうだ選挙にいこう:2012/05/24(木) 13:30:32.94
>>674
一覧表示してる表フォームからボタンで詳細表示してる単票フォームを開くんですが、
それを開いた後で別のページの詳細もパラパラと見たい時があるので。

ひとつ思いついたのは
>>657に書かれている、コンボボックスで選択して単票の目当てのレコードのページに飛ぶ機能を使って
詳細フォームを「コンボボックスが一覧で選んだIDを選択した状態」でオープンできればと思いました。

VBAでフォームを開く時に元フォームで選択した値を変数に入れて、
開かれたフォームに持ち込むことが出来るなら可能ではと思いましたが…どうでしょうか。

677 :名無しさん@そうだ選挙にいこう:2012/05/24(木) 13:56:13.41
だからそういう事を言ってるんだが
要は単票を開いてキーで検索して移動するという手順をそのままコードにすればいいだけだし

678 :名無しさん@そうだ選挙にいこう:2012/05/24(木) 15:49:31.42
>>672
ありがとうございます。
経験談は非常にありがたいです!


679 :名無しさん@そうだ選挙にいこう:2012/05/24(木) 15:55:07.40
>>672
あっすいません
ランタイムというのは印刷も正規品と同様にできるのでしょうか?例えばレポートの印刷とか

680 :名無しさん@そうだ選挙にいこう:2012/05/24(木) 16:02:49.16
>>679
Access2007 Runtimeから無償になったので、誰でもMDBやACCDBを実行
できますよ。

ただし、Excelのビューアと違って、印刷はもとよりデータの編集もできる。プログラム
の構築ができないだけ。

681 :名無しさん@そうだ選挙にいこう:2012/05/24(木) 17:03:24.83
>>674,677
すみません、やっと理解できました、同じことを言ってましたね。

実際調べてやってみたら出来ました。
Option Compare Database ステートメントに Public strID As String

でコマンドボタンで詳細フォームを開いた時にstrIDに入れたMe![ID]をForms!F_一覧.strIDで参照して飛べました。

ですが詳細フォームはメンテナンスなどで単独で開くことも必要なんですが、
このままだと一覧フォームが開いていないと一覧フォームが見つからないとエラーが出てしまいます。
これはどうしたら回避できますか。

682 :名無しさん@そうだ選挙にいこう:2012/05/24(木) 17:29:36.70
>>680
http://www.microsoft.com/downloads/ja-jp/details.aspx?familyid=57a350cd-5250-4df6-bfd1-6ced700a6715
これのことですよね!

683 :名無しさん@そうだ選挙にいこう:2012/05/24(木) 17:42:08.53
>>681
適当にエラー処理して復帰すれば
何もしないんだから処理と言ってもトラップするだけだけど

684 :名無しさん@そうだ選挙にいこう:2012/05/25(金) 10:04:30.68
テーブル1 通し番号 人名 郵便番号
テーブル2 郵便番号 住所

選択クエリ 通し番号 人名 郵便番号 住所

となっていて、選択クエリで表示されている住所を編集できてしまうんですが、これは正常ですか?
テーブルの中身も、編集したセル以外の同じ郵便番号の住所も変わっていないんですが…。

685 :名無しさん@そうだ選挙にいこう:2012/05/25(金) 12:27:11.64
>>682
そう。

ただ、2007と2010とではどちらが良いのか?は、作ったDBがどちらなのか?
による。基本互換があるといっても、2007用と2010用とでは違いがあるので
そこは注意。

いままで無償じゃなかったので難儀していたのが、これによってAccessは、
配布しやすいプログラムになったよ。

686 :名無しさん@そうだ選挙にいこう:2012/05/25(金) 12:56:13.86
>>685
違いは?

687 :名無しさん@そうだ選挙にいこう:2012/05/25(金) 12:58:26.63
主にマクロとキラキラshadeプロパティ

688 :名無しさん@そうだ選挙にいこう:2012/05/25(金) 21:22:11.79
stringとvariantってどう違うんですか?

689 :名無しさん@そうだ選挙にいこう:2012/05/25(金) 21:29:25.43
>>688
そんなのACCESSの質問じゃないぞ。

690 :名無しさん@そうだ選挙にいこう:2012/05/26(土) 11:44:39.43
一般論として、variantは、「適当に何か」的なモノ。
(BSTRでなく)VARIANTを受ける関数があるなら、その場所には、型は何でも適当に渡してくれって意味になる
その実態は、なんでもつっこめる箱(カプセル)であって、
渡されたものを、中身の種類によってどう処理するかは、相手に任せることになる
渡せても、こんなもん食えるか!ってエラーになる場合だって当然ある

691 :名無しさん@そうだ選挙にいこう:2012/05/26(土) 18:40:43.87
>>685
テーブルって本当に一つずつmdbを作るんですか?

692 :名無しさん@そうだ選挙にいこう:2012/05/26(土) 19:21:38.14
Access2000のMDEを2007とか2010のランタイムで動かした時の互換性はどの程度のもんでしょうかね?
試してみれば早いんだろうけど、元のシステムが大規模なのと、個人的な趣味で組んでた関係で
設計を見直してコンパイルを通すまでにかなりの時間を要します(主にデータ型を宣言する作業で)。

元はMDBでWin2000上のAccess2000で動いていて、実行環境としてはWin7、ランタイム2010あたりを
想定してるのですが(ちなみにテスト環境はVistaのランタイム2007)、2000のMDEを後継バージョンのランタイムで
動かしたという経験談や注意点があったら聞かせて欲しいです。

693 :名無しさん@そうだ選挙にいこう:2012/05/26(土) 19:54:40.05
どんな症状だったか忘れたけどうちで試したときは全然ダメだった。
2000のmdbを2003、2007、2010のランタイムでそれぞれ試したんだけど
それぞれでエラーが出てダメだったような記憶がある。
vbaのコード(起動時に実行するものとか)やdaoかadoかとかで違うのかもね。

694 :名無しさん@そうだ選挙にいこう:2012/05/27(日) 11:55:42.06
回答ありがとうございます。

やはりコードを一つ一つチェックして問題点を潰してゆくしか無さそうですね。
本来ならばランタイムとバージョンを統一するのが良いのでしょうけど、開発ソフトのバージョンを
上げる気にはならないし(一応WinXpとAccessXpの環境もあるけど使わなかったので)、
だからと言って今さら2000のランタイムを入れさせるのも抵抗あるので、エンドユーザーの
Officeに合わせたバージョンのランタイムで動いてくれれば一番良いと思った次第です。

作業を進めて新たな相談や報告すべき発見が有ったらまた書き込みたいと思います。

695 :名無しさん@そうだ選挙にいこう:2012/05/27(日) 15:11:09.93
adoの勉強したいのですが、皆様はどうやって学ばれたのでしょうか?
こちらでバックエンドと繋いだほうがdaoよりアップサイズしやすいですよね?


696 :名無しさん@そうだ選挙にいこう:2012/05/27(日) 16:20:02.76
>>695
ADOはAccess以外に接続する場合に威力を発揮するんじゃなかったっけかな。
アップサイジングが本格的なDBを使うことをさしているのならその通りだと思うよ。

勉強方法はMSに騙されたとしかw

697 :名無しさん@そうだ選挙にいこう:2012/05/28(月) 23:38:04.29
ひとつのフォームに入れられるサブフォームの数っていくつかな?ヘルプで調べたけど分からなかった。

698 :名無しさん@そうだ選挙にいこう:2012/05/29(火) 00:25:45.52
実用上の限界はあるだろうがコントロールが置ける限りはサブフォームだって置けるんじゃないのか

699 :名無しさん@そうだ選挙にいこう:2012/05/29(火) 21:59:10.50
やってみた 1,000 ヶまでなら おk それ以上はエラー

700 :名無しさん@そうだ選挙にいこう:2012/05/30(水) 15:04:17.62
>>699
千個も入れるのどのくらい時間かかった?

701 :名無しさん@そうだ選挙にいこう:2012/05/30(水) 15:15:30.25
1秒も掛らん

702 :名無しさん@そうだ選挙にいこう:2012/05/30(水) 15:23:31.65
スクリプトでやったから1分掛からなかったよ

703 :名無しさん@そうだ選挙にいこう:2012/05/30(水) 15:56:53.50
1000個で一度フォームを上書き保存すれば、更に1000個

704 :名無しさん@そうだ選挙にいこう:2012/05/30(水) 15:58:37.81
>>701,702
技術の差が・・・


705 :名無しさん@そうだ選挙にいこう:2012/05/30(水) 16:54:34.49
>>701 実行のみ
>>702 スクリプトの作成と実行

706 :名無しさん@そうだ選挙にいこう:2012/05/30(水) 21:12:29.43
                        , -- ── -- 、 _
                   /               ̄`ヽ、
 スクリプトを作成?      /                   \
 たったの1分で?      /   |          _,. -‐-、       \
 ば、化け物かぁ       {    ∧       ,/´     ヽ          \
                 <   /  ヽ、  ,/        ヽ        ヽ
                     ヽ /      ̄           J  )             l
                    〈 l            / ̄   <              |
                    l l , r 、__'、ヽ、   /⌒ヾ    l    __       l
                      ', ', ' '、_ ・_7 r'´゙く_’,ノ   j |   / ヽ   /
                      { ,'    ̄ノ {          |    ∨) |   /
                  i`ー-'´/    l   、        ノ     }  /,/ト、
                 ,>、  l      (_, -‐‐'ヽ、    ー=´    レ'‐< __,ノ\
             l´l> } l     (__,.. --─'      ー=、   ノ,-'"´    \
           _/ _,.-'´ヽl     (-─ '"´ ̄`ヽ、      ,>'´
      _,.-‐'"´//´     ヽ     ヽ   ,-‐-、_ ) ,.-、'"´
          //        ヽ、 l´┴‐‐'-----'´ {   ヽ
      ‐/ <         ,r‐‐〈   ⌒ ー-  ,/´}ヽ   ヽ
        `ヽ、\       /   ', ヽ、     /   /  ヽ   ヽ
        \ \     /      ヽ `ー /    /   ヽ   ヽ

707 :名無しさん@そうだ選挙にいこう:2012/05/30(水) 21:17:40.22
ふむふむスクリプトってなに?
Vbaでコード短いコードかくってこと?

708 :名無しさん@そうだ選挙にいこう:2012/05/30(水) 21:26:56.37
まぁループしてコントロール置くだけだしな

709 :名無しさん@そうだ選挙にいこう:2012/05/30(水) 21:33:04.94
だから、途中で上書き保存のコード噛ませるんだ

710 :699:2012/05/31(木) 19:16:12.70
すまぬ 目的が判らんかったから単純にサブフォーム貼り付けてコピペペペペ・・・
10ヶを10回 それをコピペペペ・・・11回目にエラーになったっつーだけ 確かに一分と掛かってない
むしろエラーメッセージ100ヶ消すほうが難儀だった 因みにAc2kだし 上のバージョン試そうと思って忘れたし
サブフォームのサイズは0.02cm×0.02cm 上書きしたらもっと行けたのか? なんつったってAccessだしな ダメだろ

711 :名無しさん@そうだ選挙にいこう:2012/06/01(金) 11:34:13.52
コンボボックスのプロパティ[入力チェック]をいいえにして、
このコンボボックスにドロップダウンに無い文字列が入力されているかって
VBAで判別つくのかな。プロパティか何かで分かる?

712 :名無しさん@そうだ選挙にいこう:2012/06/01(金) 12:28:41.78
>>711
テーブルかクエリがソースなら見に行って、eofなら存在しないと判る。

713 :名無しさん@そうだ選挙にいこう:2012/06/01(金) 21:34:41.18
accessの根本的なところを理解するための導入書でおすすめの本ってないでしょうか?

accessを一から勉強しようとFOM出版の「よくわかるmicrosoft access2010 基礎」を
購入して一通りやってみたのですが、
書かれている作業は順を追ってできるもののいまいち全体像がわかりません
そこでネットでaccessの勉強について調べてみると、
作業を学ぶのとは別に、
データベースについての理解が伴わないとaccessの習得は行き詰まると書いてありました。
そのための本を検索してみたのですがどれが良いのかわかりません
もしおすすめの本があったら教えてもらえないでしょうか

714 :名無しさん@そうだ選挙にいこう:2012/06/01(金) 22:26:25.30
フィールド名で()を入れるのってやっぱ良くないかな?

715 :名無しさん@そうだ選挙にいこう:2012/06/02(土) 00:00:53.12
「やっぱり」と書くぐらいなら、使わないよな。

716 :名無しさん@そうだ選挙にいこう:2012/06/02(土) 00:08:36.45
フィールド名で()を入れるのって良くないかな?

717 :名無しさん@そうだ選挙にいこう:2012/06/02(土) 10:55:12.75
フィールド名は、最初に数字を入れるのがいいよ

718 :名無しさん@そうだ選挙にいこう:2012/06/02(土) 11:07:59.21
>>717
おい!

719 :名無しさん@そうだ選挙にいこう:2012/06/02(土) 19:33:45.94
フィールド名で英語使うのは良くないかな?

720 :名無しさん@そうだ選挙にいこう:2012/06/02(土) 22:50:27.12
>>719
なんとも言えないね。
普通は英数が推奨されるが、予約語とか禁則事項を知らないのなら
なにをフィールド名にしても危険性は同じ。

721 :名無しさん@そうだ選挙にいこう:2012/06/04(月) 08:15:50.76
テーブルやフォームの名前変えたら
VBAで記入した名前も変えてくれる機能ってないの?

722 :名無しさん@そうだ選挙にいこう:2012/06/04(月) 08:47:50.67
検索、置換

723 :名無しさん@そうだ選挙にいこう:2012/06/04(月) 15:47:51.79
VBAのコードまで勝手に変えたいならマクロで十分だろ

724 :名無しさん@そうだ選挙にいこう:2012/06/04(月) 23:50:53.36
むしろクエリとかで勝手にテーブルの名前変えられてて
「チッ」ってことが良くあるんだが。
もう設定で変わらないようにしてる。

725 :名無しさん@そうだ選挙にいこう:2012/06/09(土) 18:31:45.88
Me!とMe.って何が違うの?

726 :名無しさん@そうだ選挙にいこう:2012/06/09(土) 18:36:49.68
>>725
Me!はレイトバインドだからクエリに変数含んでたら使えない、つーか実行時に結果が変わっちゃう
Me.はコンパイル時に確定する

727 :名無しさん@そうだ選挙にいこう:2012/06/10(日) 02:07:49.21
>>726
為になるわ


728 :名無しさん@そうだ選挙にいこう:2012/06/12(火) 18:43:08.75
よろしくお願いします。
http://homepage1.nifty.com/cpa-iizuka/bon/23/bon.html
このページのデータ部分を、ACCESS2007のデータ化したいのですが、どうすればいいでしょうか?

729 :728:2012/06/12(火) 19:22:13.79
つか、対象ページをhtmlファイルで保存して、
それを、外部データ→インポート→その他→htmlドキュメント、でとりこめました。
お騒がせしましたw

730 :名無しさん@そうだ選挙にいこう:2012/06/18(月) 17:35:15.69
Windows XP Access 2003

フォームに対してクエリが設定されており、そのクエリでソート順が指定されている
ため、フォーム上でユーザーがカラムを右クリックしてもコンテキストメニュー
の「昇順で並べ替え」が選択できない状態です。

この状態で、ユーザーにソート順を変更させることはできますか?
あるいは、VBAでソート順を変更するようなことはできますでしょうか?

731 :名無しさん@そうだ選挙にいこう:2012/06/18(月) 19:27:42.80
少なくとも2000で作ったフォームでは選択出来るはずだが2003ではそうなのか?
何にせよどういう設計で組まれているかがわからないと何とも言えない

732 :名無しさん@そうだ選挙にいこう:2012/06/18(月) 21:35:55.93
単にフォームのプロパティでソートが禁止されてるとかその程度の問題な気がする

733 :名無しさん@そうだ選挙にいこう:2012/06/18(月) 21:37:41.43
右クリックメニューが変えてあるだけかと

734 :名無しさん@そうだ選挙にいこう:2012/06/19(火) 08:01:51.00
>>730
クエリを書き換えてrefresh、という手も有ります。

735 :730:2012/06/19(火) 13:16:59.62
フォームのプロパティは探してみましたが、どの項目でしょうか?
もともとこのファイルを作ったのは別の人なので、完全に把握していないんですが…
右クリックメニューは普通に出るんですが、昇順(降順)で並べ替えがdisabledになってるんですよ。

736 :名無しさん@そうだ選挙にいこう:2012/06/19(火) 14:08:26.34
>>735
演算フィールドって言うことはないよな。

737 :名無しさん@そうだ選挙にいこう:2012/06/19(火) 21:35:23.06
中区5丁目 3番 1号 〜 3番 3号 田
中区5丁目 3番 4号 〜 4番 5号 田
中区5丁目 4番 6号 〜 4番 9号 田
中区5丁目 5番 1号 〜 5番 2号 畑
中区5丁目 5番 3号 〜 7番 4号 畑
中区5丁目 7番 5号 〜 7番 9号 田

738 :名無しさん@そうだ選挙にいこう:2012/06/19(火) 21:38:43.01
これをクエリを利用して
中区5丁目 3番 1号 〜 4番 9号 田
中区5丁目 5番 1号 〜 7番 4号 畑
中区5丁目 7番 5号 〜 7番 9号 田
といった抽出は可能でしょうか。わかりづらい質問で申し訳ございません。

739 :名無しさん@そうだ選挙にいこう:2012/06/19(火) 21:53:02.59
テーブル構造はどうなってんのよ?
中区5丁目、 3番、 1号、 3番、 3号、 田

みたいになってんの?
要は連続データの最初と最後を纏めたいということでいいのか。
クエリではどうだか知らんが、構造によっては可能だと思う。

740 :名無しさん@そうだ選挙にいこう:2012/06/19(火) 21:55:52.99
やろうと思えば出来なくはないがあえて不可能と答えておく

741 :名無しさん@そうだ選挙にいこう:2012/06/19(火) 23:10:57.50
>>739
おっしゃるとおりです。

>>740
やはりむずかしそうですね。
中区5丁目 3番 1号 〜 7番 9号 田
中区5丁目 5番 1号 〜 7番 4号 畑

という結果にはしたくないんです・・。

742 :名無しさん@そうだ選挙にいこう:2012/06/20(水) 07:30:55.38
SELECT文でレポートのブレイクポイントを使うようなことってできるのかな

    ( ゚∀゚)  
    (ヽ□=□))
     > >


743 :名無しさん@そうだ選挙にいこう:2012/06/28(木) 21:44:29.87
アクセス2007です。
・テーブルにデータを入力する時に、半角数字を入れたいのに、ひらがな入力になってしまいます。
どこをいじればいいでしょうか?
・フィールドに上から300個ほど2005という同じ数字で埋めたいです。
excelだと1つ入力してマウスで角をつまんでビーと簡単にできたのですが、accessではどうやるのでしょうか?

744 :名無しさん@そうだ選挙にいこう:2012/06/28(木) 21:45:53.62
クエリでやれ

745 :743:2012/06/28(木) 22:18:12.02
つか、漢字とか入ってるテキスト型のデータを無理矢理、数値型のデータ形式に変更するのは不可能のなのでしょうか?

746 :名無しさん@そうだ選挙にいこう:2012/06/28(木) 22:32:15.17
変更なんかしないで数値型のフィールドを新たに作った方が手っ取り早いだろ

747 :名無しさん@そうだ選挙にいこう:2012/06/28(木) 22:36:33.37
漢字を数値型に?
六→6とか?

748 :743:2012/06/28(木) 23:31:54.45
>>747
ではなくて、テキスト型のフィールドに半角0を入力したいのですが、いちいちひらがな入力になるわけです。
そこでお願いですが、
現在、テキスト型のフィールドに300個ぐらいテキスト型のデータが入力されているのですが、
そのデータの頭に半角0を挿入するクリエをどなたか作って下さい。お願いします!
あと、空のフィールドに、上から300個ほど2005という同じ数字で埋めるクリエを作って下さい。お願いします!

749 :名無しさん@そうだ選挙にいこう:2012/06/28(木) 23:53:10.64
>>748
作れも何も更新クエリが解らないなら、Access使う意味があるのか。
Excelでいえば、Sumぐらい基本的なことだと思うが。

「レコードの更新」に "0" & フィールド名、抽出条件に Is Nullと
「レコードの更新」に 2005、抽出条件に  Is Not Null の二本立てで行かんか。

750 :749:2012/06/28(木) 23:54:15.54
抽出条件が逆だわ。

751 :743:2012/06/29(金) 00:15:56.23
>>749
昔、ほんのちょこっとだけexcel2003を使ってて、
今回access2007を初めて使ったので、ユーザーインターフェイスからしてわからない。
で、今現在テーブルは開いてます。
そのテーブルに新しいフィールド「西暦」を追加しました。
で、↓をするにはどこをクリックすればいいの?

「レコードの更新」に 2005、抽出条件に  Is Null 

752 :743:2012/06/29(金) 00:19:15.36
つか、クリエウイザードとクリエデザインを発見しました。
どっちをクリックすればいい?

753 :749:2012/06/29(金) 00:29:05.05
>>752
ウィザードのほうが簡単だよ。自分で作れるのなら、どちらを使っても同じ結果が得られる。
とりあえずはテーブルと同じでいいと思うぞ。つまり、全フィールドをメンバーにしていい。
しばらく付き合ってやるから、ゆっくりやるといいよ。
あと、俺は2002なんでインターフェースのことは聞くなw

754 :743:2012/06/29(金) 00:49:56.19
>>753
どうもです。
では、
・クリエデザインをクリック
・テーブルの表示が出る
・〜〜テーブルをダブルクリック→フィールド名一覧が出る→西暦フィールドをクリック
・下の欄のフィールドのところに西暦と入る→更新ボタンをクリック→レコードの更新欄が現れる
・で、
・レコードの更新に2006と書く
・抽出条件には、Is Nullと書く
で、実行ボタンを押しても何も変わりません。
で、無効モードのため、アクションまたはイベントはブロックされました。
と表示されます。
どうすればいい?


755 :743:2012/06/29(金) 00:54:01.24
つか、変だと思うのは、
西暦フィールドに2006を書き込むはいいけど、
どこのレコードからどこのレコードまで、を指定していないのが変だと思うんだよねw

756 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 01:01:34.33
>>754
現状では「選択クエリ」といって、テーブルと同じものを表示するだけになっている。ここで計算とかができる。
デザインモードでフィールド名とかがあると以外で右クリックすると「クエリの種類」とかが出てこない?
出てきたらそこから「更新」というのを選んでくれ。

>>755
詳しい条件を書いてくれ。漠然と上から300件ぐらいじゃ判断できないよ。
あと気をつけて欲しいのは、Accseeに限らずDBっていうのは基本的に順番はないから。
必要なら自分でソートできるフィールドを用意する必要がある。

757 :743:2012/06/29(金) 01:21:40.79
>>756
>デザインモードでフィールド名とかがあると以外で右クリックすると「クエリの種類」とかが出てこない?
来ます。

>出てきたらそこから「更新」というのを選んでくれ。
やりました。
で、↓が出て来て、
フィールド:
テーブル:〜〜〜
レコードの更新:
抽出条件:
または:

↓を書いて、実行をクリックすると、「無効モードのため、アクションまたはイベントはブロックされました」が出るのです。

フィールド:西暦
テーブル:〜〜〜
レコードの更新:2006
抽出条件:Is Null
または:

>詳しい条件を書いてくれ。
現在レコードが375個あります。
で、西暦フィールドはすべて空欄です。その空欄すべてを、2006で埋めたいのです。

758 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 01:30:03.01
西暦フィールドを全部2006で埋めたいだけなら抽出条件は要らない。
あとテーブルのフィールドにはデータ型というのがあるんだけど、テキスト型にしているのかな。

>、「無効モードのため、アクションまたはイベントはブロックされました」が出るのです。

ttp://www.accessclub.jp/bbs3/0345/superbeg103880.html

ここが参考にならないか。

759 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 01:32:44.66
ttp://office.microsoft.com/ja-jp/access-help/HA010256403.aspx

こっちの方がいいか。

760 :743:2012/06/29(金) 01:47:57.26
じゃ、新規で10個のレコードの西暦フィールドを2006で埋めるクリエはどうやりますか?

空のデータベース→西暦フィールドを作る→データ型は数値型、表示形式は数値とする。
・クリエデザインをクリック
・テーブルの表示が出る
・〜〜テーブルをダブルクリック→フィールド名一覧が出る→西暦フィールドをクリック
・下の欄のフィールドのところに西暦と入る→更新ボタンをクリック→レコードの更新欄が現れる
・で、
・レコードの更新に2006と書く
・抽出条件には、Is Nullと書く
で、実行ボタンを押しても何も変わらないんだけど。

761 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 02:04:16.58
横槍だがデータベースで扱うデータは基本的には自分で入力するんだよ
クエリというのは既に入力されてるデータを更新するのに用いてるだけで
1件もデータが入ってないなら用いても意味が無い(厳密には色々方策はあるが)

762 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 02:07:02.74
ちょっと待て。既存のデータを弄るんじゃなくて、空になったのか?
空ならテーブルの規定値に2006を設定すれば、レコードが増えるごとに自動的に2006がはいるようになるけど、
クエリで10レコードを作成するとかできないぞ。そういうのはVBAを使うことになると思う。

すまん、睡魔が襲ってきたんでこれ以上は付き合えないかもしれない。

763 :743:2012/06/29(金) 02:39:30.56
じゃ、
フルーツフィールドに書かれた、いちご、を、りんご、に変換するクリエを教えてくれ。

764 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 02:43:59.98
>>763
フルーツフィールドのレコードの更新に "りんご" 、抽出条件に "いちご" 。


765 :743:2012/06/29(金) 03:04:51.63
>>764
どうもです。これも、
>「無効モードのため、アクションまたはイベントはブロックされました」
これが出たw

766 :743:2012/06/29(金) 03:05:40.26
問題はこの辺ですね、どうも。

767 :743:2012/06/29(金) 04:00:28.82
つか、
>フルーツフィールドのレコードの更新に "りんご" 、抽出条件に "いちご" 。
これは出来ました、ありがとうございました。
でも、
・レコードの更新に2006と書く
・抽出条件には、Is Nullと書く
これが、まだ、
「無効モードのため、アクションまたはイベントはブロックされました」
なんですよね。
これのデータが汚いデータだからかも知れません。
とりあえず、ありがとうございました。

768 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 04:07:14.39
ググればすぐ出てくるだろ…

769 :743:2012/06/29(金) 04:30:50.39
あと、教えて欲しいのですが、
いくつかのフィールドにおいて重複が複数あるテーブルが1つだけある。
この重複の無駄をはぶくため、この1つテーブルを自動で2つのテーブルに別ける。
これは可能でしょうか?

770 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 05:09:12.85
可能か不可能かで言えば可能だろうな
ただ作業の手順は自分で決めなきゃならない

手順を決めるというのは、どのテーブルのどういうデータをどんな条件で
振り分けるのかを明確にするという事だ

この手順がはっきりしないと作業者は何をやればいいのかわからないし、
コンピュータはバカだからもっとわからない

まずは文書でいいからバカでもわかる手順を書いてみる事だな

771 :743:2012/06/29(金) 05:32:52.31
>>770
なるほど、どうもです。

772 :743:2012/06/29(金) 05:58:20.65
つーか、csvデータで読み込み、一括で、2005→2006に置換しようとしたら、
「このISAMでは、リンクテーブル内のデータを更新することはできません」
と出ました。
で、
http://okwave.jp/qa/q735806.html
を見ると、
accessでは、csvデータを読み込んで処理は出来ない、って感じなんですか?

773 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 06:06:20.20
xp sp3 access 2003 vba少々可です。

データ型がオートナンバーをキー(顧客ID)にしたテーブルに、フォームから1レコードずつデータを登録する処理を作成しているのですが
なかなかうまくいきません。

データを入力し、保存ボタンが押されたタイミングで、そのテーブルにレコードが登録されるようにしています。
実際レコードの登録は上手くいくのですが、
登録されたレコードの前に空のレコードが勝手に登録されてしまい、結果、実データは顧客IDが飛び飛びに
(1,3,5,7.....という感じです)なってしまいます。
データ入力の際、細かい項目チェックをしているので、その辺りが絡んだコーディングミスではないかと思うのですが、
ここ二日お手上げ状態です。


ご教授受けたいのは以下の2点です。

・ソース上は、xxx.Updateが実行されるのは保存ボタンを押されたタイミングのみなのですが(xxx.Updateが二回実行されることはありません)、
コーディングミス等が原因で、これ以外のタイミングで勝手にレコードが登録される場合があるのでしょうか?

・デバッガでテーブルに空のレコードが登録されたタイミングを特定できるでしょうか?

お詳しい何方か、よろしくお願いいたします。




774 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 07:18:58.16
>>772
それ読み込まれてない、参照してるだけ
てかそこのアンサーに書いてあるのがまんま答えじゃん

>>773
何とも言えんけどボタン以外でフォームの変更が確定するケースは無いのかね?
何も対策をしてない場合、初期化したレコードが確定するだけで空白レコードが
保存されるわけだけど

775 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 09:31:53.50
なんだ?無駄に伸びてると思ったらただの善人かよ

776 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 10:34:40.49
>>773
俺と根本的に作り方が違うんで(RunMacroやRunSqlがてんこ盛り、しかも巨大)修正するぐらいなら作り直しちゃうんだけど、
上司が作ったものにそうなるものがあったな。
その人がやっていたことは、連結フォームでUpdateをかましていた。で、たしか書き込まないときの処理をしていなかったから
空行が登録されていたような記憶がある。参考になるかは知らんが。

777 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 13:30:00.78
実際更新してないけど更新ロックがかかってる状況ってこと?

778 :743:2012/06/29(金) 14:11:36.11
>>774
レスありがとうございます。

> それ読み込まれてない、参照してるだけ
では、csvファイルを読み込むにはどうすればいいのでしょうか?
・access2007を立ち上げる→空のデータベースを新規作成する→オフィスボタン→開く→ファイルの種類をテキストファイルにする→csvファイルを読み込む
と、作業したのですが、この作業ではcsvファイルを参照しているだけなのですか?

779 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 14:27:33.94
開くじゃダメだろ
インポートか何かでテーブルに追加しないと

780 :743:2012/06/29(金) 14:59:24.31
>>779
おー、出来たw
つまり、
・access2007を立ち上げる→空のデータベースを新規作成する→外部データ→インポート→テキストファイル
で、出来ました、皆さんも参考にして下さいw
しかし、そうすると、>>778のやり方は何なんだろ? 紛らわしいですね。

781 :743:2012/06/29(金) 15:22:44.98
あと、access2007でも、excel2007でも、むかつくのが、
データとして、
7/13-/15
なら、そのままだけど、
7/13
だと、勝手に
7月13日
に変えるわけです。
これは何とかならないでしょうか?

782 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 15:30:40.52
書式設定しろよ
エクセルも同様

783 :743:2012/06/29(金) 16:07:16.01
>>782
書式設定は一応やるんですが、ま、この件にありがとうございます。
どうもでした。

784 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 17:23:50.85
なーんでか、教えてもらう方が偉そうに見えるだろう


785 :743:2012/06/29(金) 18:29:25.42
つか、なぜか、手元にあるaccess2000のハウツー本に、
"SN" &商品ID
を実行すると、
指定した個々の「商品ID」の値の先頭に「SN」という値を連結します。
と書いてあります。
でも、これを、access2007で実行すると、
商品IDフィールドのデータが、全部「SN商品ID」に変わるだけなんです。
この作業をaccess2007で実現するのは無理なのでしょうか?

786 :743:2012/06/29(金) 18:38:01.99
つか、ヘルプを見たら↓で出来ます。失礼しました。

"PN" & [部品番号] 指定した各部品番号の先頭に "PN" を追加します。

787 :743:2012/06/29(金) 19:06:57.49
つか、access2007で、
/の左どなりが1桁の半角数字だったら、その頭に半角の0を付ける
/の右どなりが1桁の半角数字だったら、その頭に半角の0を付ける
って出来ます?

788 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 19:12:58.08
出来ますよ。

789 :743:2012/06/29(金) 19:15:25.66
>>788
それは、更新クエリで出来ますか?

790 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 21:06:30.25
>>789
なんかやたらと面倒くさいことをやっているな。日付型にして書式で一発だと思うが、
まぁ、世の中ままならないこともあるからそれはおいておくとして
Cdateで日付に変換してFormatで体裁を整えるとか。

たぶんレコードの更新のところに

Format(Cdate(フィールド名), "mm/dd")

で行けるんじゃないの。勝手に日付と認識したけど、それでいいんだよな?
/の前に\がいるんだったけか。


791 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 22:20:44.41
おまえらいい加減にしろ チャット・ルームへでも行け
それか15,000払ってiStudyでも受けろボケナス 一晩掛かってこんな進度だぞ
こいつが習熟するまで何スレ必要となるんだ しかも礼儀知らずなのをのさばらせる遠因を醸成しつつあるだろ 怒れよ
怒るときに怒れないおとこは 

792 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 22:28:13.92
週に一件とかしか投稿が無いよりは見てて面白いだろ

793 :名無しさん@そうだ選挙にいこう:2012/06/29(金) 23:49:46.17
クリエに突っ込みたい衝動を抑えるのに必死で読んだ


794 :743:2012/06/29(金) 23:57:51.63
>>790
つか、オリジナルデータが、かなりあいまいなデータで、そのフィールドに入っているのは月日だけではないのです。
なので、>>787のルールで文字列操作をやりたいのですが無理でしょうか?

795 :名無しさん@そうだ選挙にいこう:2012/06/30(土) 00:01:53.13
普通は取り込む前にデータを修正しておく

796 :743:2012/06/30(土) 00:32:38.00
>>795
そこをひとつ何とかお願いしますw
だって、クエリのほかにも、マクロだ、VBAだとあるんでしょ?

797 :名無しさん@そうだ選挙にいこう:2012/06/30(土) 00:41:09.01
>>794
多少複雑な処理になりそうなので、自分で関数を作る。
プログラムの基本といっていい文字列操作だから、それほど難しくはない。
多分実行部は十行程度だろう。



798 :743:2012/06/30(土) 00:43:13.58
>>797
それは、クエリで可能ですか?

799 :名無しさん@そうだ選挙にいこう:2012/06/30(土) 00:50:08.60
>>798
だから0を頭に付ける処理をする関数を作って、クエリで使うの。
>>790の式だって、やりたければ関数化していい。
Excelにだって、ユーザー関数っていうのがあるだろ。

800 :名無しさん@そうだ選挙にいこう:2012/06/30(土) 01:06:35.66
>>799
関数作るってfunctionでコード書くこと?

801 :名無しさん@そうだ選挙にいこう:2012/06/30(土) 01:12:47.33
そういうこと。
引数でフィールド値を渡して、戻り値で処理済の文字列を返せばいいでしょ。

802 :名無しさん@そうだ選挙にいこう:2012/06/30(土) 08:52:31.42
更新フィールドに
その文字列が日付っぽいなら日付の型に変換してmm/dd書式にする、
という式を書く。

803 :名無しさん@そうだ選挙にいこう:2012/06/30(土) 08:56:18.55
IIF,ISDATE,CDATE,FORMATで。

804 :名無しさん@そうだ選挙にいこう:2012/06/30(土) 13:34:13.59
ここは>>743養成スレになりました。
accessでメシが食えるようになるまで見守りましょう。

805 :名無しさん@そうだ選挙にいこう:2012/07/02(月) 10:04:31.74
Accessというか正規化というか……
一つの主キーが、外部キーを2つ持っている場合の正規化とリレーションシップの貼り方について質問です。

履歴書をAccessで管理しようとした場合、「職歴」「資格」が複数出てきます。
最終的には履歴書の内容をレポートで表示したいのですが、社員番号をキーに職歴テーブル、資格テーブルにリレーションシップを貼って、全て表示しようとすると上手くいきませんでした。
どのようにすれば上手くいくのか教えて頂けませんでしょうか。

テーブル構成は次のように考えました。
−−−社員テーブル−−−        −−−職歴テーブル−−−            −−−資格テーブル−−−
社員番号(主キー)           No(主キー:オートナンバー)           No(主キー:オートナンバー)
名前                   社員番号                     社員番号
住所                   会社名                       資格名
                      入社年月日                    資格取得日
                      退社年月日
−−−作成クエリ−−−
社員番号  :社員テーブル
名前    :社員テーブル
会社名   :職歴テーブル
入社年月日:職歴テーブル
退社年月日:職歴テーブル
資格名   :資格テーブル
資格取得日:資格テーブル

よろしくお願いします。


806 :名無しさん@そうだ選挙にいこう:2012/07/02(月) 10:05:49.55
あっすみません。
Win7 Access2010です。


807 :名無しさん@そうだ選挙にいこう:2012/07/02(月) 10:46:22.71
リレーションシップなんか使わずともその都度クエリで連結すればいいんじゃないの。
それは余談として、社員1名に対して職歴や資格は複数存在するんだから、
複数レコードが生じるのは当然かと。

テーブル構造自体は問題無いと思う。問題があるとしたらクエリの方かな。
社員テーブルに対して1対多でリンクすれば意図した構造は得られると思うが、
それを1枚のレポートに反映しようと思ったらサブレポートを組むなりの工夫が必要だな。

808 :名無しさん@そうだ選挙にいこう:2012/07/02(月) 11:24:22.83
サブレポート……勉強してきます。
ありがとうございました!

テーブル構造合ってて良かった……

809 :名無しさん@そうだ選挙にいこう:2012/07/03(火) 01:56:39.78
済みませんが、SQLについて相談させてください。

Windows 7、ACCESS 2007を使用しています。
(ちなみに、手元にある機器ではありませんので、
確認等が必要であればお時間をいただくことになります。

使うテーブルは次のようなものです。
テーブルA
 レコードID(Uniqueな数値を持つ主キーで、整数型)
 個別ID(個体を識別するためのIDで、テキスト型)
 個体名(同一個体でも改名等が考えられるため)
 年月(データを収集したときの年月で、テキスト型)
 …数値データ群

テーブルA2(作業の便宜上、テーブルAを個体名でグループ化して作成したテーブル)
 個別ID(個体を識別するためのIDで、テキスト型)
 個体名(テーブルAに置ける最終のデータを取得)
 …数値データ群(集合関数Sumを使用)

テーブルB
 レコードID(Uniqueな数値を持つ主キーで、整数型)
 個別ID(個体を識別するためのIDで、テキスト型)
 個体名(同一個体でも改名等が考えられるため)
 年月(データを収集したときの年月で、テキスト型)
 属性フラグA(3値以上のフラグで見やすさのため、テキスト型)
 …他のデータのフィールド

※テーブルAとテーブルBの個体名は、固体IDと年月が同一であっても別の名前が入っていることがあり得ます。
※レコード数はいずれも約10万レコードです。

(長くなってしまったため、次のレスに続けます。)


810 :809:2012/07/03(火) 01:57:11.85
やりたいことは、テーブルBのデータのうち各個別IDにおいて最後の月のデータを
テーブルA2に結合したいと考えています。
質問は次の2つ。
1.テーブルA2に結合するSQLをどう書けば良いでしょうか。
2.テーブルAを元に、1と同様の処理をするSQLはどのように書けば良いでしょうか。

2の趣旨は、1では、テーブルAとテーブルA2の2つが存在してしまって
整理しにくくなるため、中間生成物であるテーブルA2を消したいのです。
(元データであるテーブルAを消す方が手っ取り早いが、
テーブルAは別の用途で必要なため残す必要がある。)

よろしくお願いいたします。

811 :743:2012/07/03(火) 05:02:31.68
winXP、ACCESS 2007です。とりあえず、
http://www.accessclub.jp/module/01.html
をやってみようと思い、
VBEを立ち上げ、イミディエイトに、? Msgbox("こんにちは")、を書きました。
そして、これを実行するにはどうすればいいのでしょうか?
VBEにの上部に実行タブがあるのですが、それはマクロの実行タブです。
イミディエイトに書いた、? Msgbox("こんにちは")、を実行するにはどうすればいいのでしょうか?

812 :名無しさん@そうだ選挙にいこう:2012/07/03(火) 13:19:34.53
select *
from B,A2
where 個体名.ID = 個体名.ID

select *
from B,(select 個体名 ,sum(数値データ群) from A group by 個体名 ) A2
where 個体名.ID = 個体名.ID


ってこと?グループ化しているA2に個別IDが入ってるのが意味わからないけど



813 :名無しさん@そうだ選挙にいこう:2012/07/03(火) 13:25:06.26
>>811
時間をかけて書いてる間に解決するようなことだと思うけど
もしかして、レス待ちで正座して待ってるとか?
もしそうなら、「試す」ってことをもう少ししたほうがいいと思うよ

もうできていて、質問したことがあまりにも低レベルすぎて
顔を真っ赤にしているところで、解決したなんて書けないのかな?

とりあえずわかってると思うけど、エンター押してみようね

814 :名無しさん@そうだ選挙にいこう:2012/07/03(火) 13:26:02.89
? が余分じゃねえの

815 :743:2012/07/03(火) 15:00:43.52
>>813
あ、本当だw 出来ました、どうもです。
>>814
? があってもなくても出来ました。

816 :743:2012/07/03(火) 15:02:17.65
しかし、そうすると、イミディエイトで改行は出来ない、ってこと?w

817 :名無しさん@そうだ選挙にいこう:2012/07/03(火) 15:58:39.78
斬新な発想だな

818 :名無しさん@そうだ選挙にいこう:2012/07/03(火) 19:27:03.33
行の最後に _ (アンダーバー)入力すれば改行できなかったっけ

819 :名無しさん@そうだ選挙にいこう:2012/07/03(火) 19:51:28.20
要約するとダイレクトコマンド-ライン上で改行出来ない的な事を言っている

820 :809:2012/07/04(水) 01:15:01.87
>>812
>グループ化しているA2に個別IDが入ってるのが意味わからないけど

テーブルAの具体的なデータは次のようになっています。
(説明のためCSV形式で記述します)
1, 10001, 個体A, 201204, …
2, 10002, 個体B, 201204, …
3, 10003, 個体C, 201204, …

76, 10001, 個体A, 201205, …
77, 10002, 個体B, 201205, …
78, 10004, 個体D, 201205, … ←個体ID10003の2012年5月のデータはない

155, 10001, 個体A, 201206, …
156, 10002, 個体b, 201206, … ←10002の個体名が違う


これを、個体ID 10001、10002、10003、…でグループ化して合計します。
なので、個体IDは必須項目です。

同様に、テーブルBもこのような形式でデータが登録されています。
最終目的の質問2は、テーブルAの個別IDごとの合計と、
テーブルBの各IDごとの最終月データを1つのSQLで結合するというものです。

821 :名無しさん@そうだ選挙にいこう:2012/07/04(水) 01:31:58.97
要は住人が入れ替わったから部屋番号を使い回そう的な事だろ
新聞屋とか牛乳屋の契約管理みたいだな

822 :名無しさん@そうだ選挙にいこう:2012/07/04(水) 19:30:03.27
>>820
なんで、SQLにこだわんの?

select *
from B,(select 個別ID,max(年月),sum(数値データ群) from A group by 個別ID) A2
where B.個別ID = A2.個別ID(+)


823 :名無しさん@そうだ選挙にいこう:2012/07/04(水) 20:26:49.67
>>822
SQL以外になにがあるの?

824 :名無しさん@そうだ選挙にいこう:2012/07/04(水) 21:06:11.65
手入力

825 :名無しさん@そうだ選挙にいこう:2012/07/04(水) 21:16:33.43
今さら言ってもしょうがないけどデータの構造がまずいんじゃね
件数から察するに別のソフトで運用してたデータをそのまま展開して吸い上げた感じか

826 :809:2012/07/04(水) 23:43:22.74
>>822
問題のもう一つは、テーブルBは最終月のデータを使うことです。
念のため、したいことを書くと次のようになります。(テーブルAは>>820
ちなみに、最終月は2012年7月とします。
テーブルB
1, 10001, 個体A, 201204, …
2, 10002, 個体B, 201204, …
3, 10003, 個体C, 201204, …

72 10001, 個体A, 201205, … ←2012年4月のデータの数がテーブルAと合わない
73, 10002, 個体B, 201205, …
74, 10003, 個体C, 201205, … ←テーブルAにない、個体ID 10003の2012年5月のデータがある
75, 10004, 個体d, 201205, … ←テーブルAと表記が違う

151, 10001, 個体A, 201206, …
152, 10002, 個体B, 201206, … ←テーブルAと表記が違う

226, 10002, 個体B, 201207, … ←個体ID10001は2012年6月が最終月
227, 10003, 個体C, 201207, … (←今お願いしている1と2の次に質問したいことだが、実は除外したいデータ(除外用のフラグ有り))

結合結果
10001, 個体A, テーブルAのSum、テーブルBの2012年6月のデータ
10002, 個体B, テーブルAのSum、テーブルBの2012年7月のデータ
10003, 個体C, テーブルAのSum、テーブルBの2012年7月のデータ


827 :809:2012/07/04(水) 23:50:11.17
>>825
>件数から察するに別のソフトで運用してたデータをそのまま展開して吸い上げた感じか

ご明察。
テーブルAとテーブルBのソースは全く別のところから持ってきているもので、
たまたま統一された個別IDが両方に振られているという代物。
これを統合して集計するのが目的です。



828 :名無しさん@そうだ選挙にいこう:2012/07/05(木) 01:58:15.25
なんか単純な事を面倒な手順でやろうとしている気がしてならないのだが
単に過去のデータ(A)と当月のデータ(B)を一つのテーブルにまとめて
当月分として集計すればいいだけじゃないの

先月分が欲しければ6月とそれ以前の合算で出せばいいだけだし

829 :809:2012/07/05(木) 03:21:48.78
>>828
確かに、今はそうやっているのですが、
メンテをしているうちに何が何だか分からないくらいテーブルやクエリが出来てしまい、
整理をする必要が生じてきました。

実際には、テーブルAを作成するためのインポートや加工のクエリ、
実は複数あるテーブルBを作成するためのインポートや加工のクエリ、
これらを合計したりサブクエリにすれば足りるかも知れないクエリが計二、三十程度あります。

そういうわけで、余計な中間生成物としてのテーブルやクエリをできる限り消したいのです。

あと、欲しいのはテーブルAの合計とテーブルBの最終時点のデータです。
例えば、テーブルAは商品ごと月ごとの売り上げ、テーブルBはその商品の担当
(変更時のみレコードを登録)を入れていて、
一定期間の売り上げを集計してテーブルAは合計でないと意味がなく、
テーブルBは現在の担当を表示しないと意味がない
(過去の担当や登録がない月で空欄になって貰っては困る)、
というイメージを持っていただけるとわかりやすいかと。

830 :名無しさん@そうだ選挙にいこう:2012/07/05(木) 17:21:52.42
できてるならいいじゃない
動いてるならいいじゃない



これ、うちのばか上司の口癖な

831 :名無しさん@そうだ選挙にいこう:2012/07/05(木) 18:05:37.42
なんだか悲惨だなぁ。
いっそのこと要望を満たすテーブルを設計し直して
そこにデータを落とし込んだ方が手っ取り早いんじゃないの。
少なくとも俺ならそうするし、データ追加時の整合性もフォームできっちりとチェックする。

832 :809:2012/07/05(木) 23:26:00.19
>>831
それはそう思うのですけどね。
でも、上流の出力形式は変えられないのでどうにも出来ません。
それに、実は元の出力形式は上長の価値観の問題でもっとひどいのですから。

833 :名無しさん@そうだ選挙にいこう:2012/07/06(金) 01:19:18.74
変えられないとあえて書くという事は毎月その処理をやるつもりか
それはもうコードで手順化した方がいいんじゃないの

834 :809:2012/07/06(金) 01:22:37.92
>>833
それは考えていますが、いろいろな中間処理のテーブル・クエリを少しは整理しないと
変更するときに厳しそうな気がします。

まあ、頻度はどれくらいになるかよく分からない(毎月やる必要はなさそう。)

835 :730:2012/07/06(金) 14:16:32.70
ようやく解決しました。
フィールドのプロパティの「使用可能」と「タブストップ」が両方「はい」になっていなければ
いけないようでした。

836 :名無しさん@そうだ選挙にいこう:2012/07/06(金) 14:18:51.38
そんな理由かよ…

837 :名無しさん@そうだ選挙にいこう:2012/07/07(土) 23:26:56.85
質問です。会社で受付業務をやってます。
この会社からこういう内容の問い合わせの時は○○部署

みたいなパターンをイントラのweb上で登録して、あとは
会社名 内容 をプルダウンで選んだだけで連絡先の部署名が出てくるようにしたいんだけど
難しいかな?一応、会社の皆が情報を追加できて、少しずつノウハウを記録させて使いたいんだけど
Access使えば出来ますか?

838 :名無しさん@そうだ選挙にいこう:2012/07/07(土) 23:32:44.88
メモ帳でOK

839 :名無しさん@そうだ選挙にいこう:2012/07/07(土) 23:48:41.15
Accessでもできると思います。
フリーソフトやシェアウェア、Webアプリで有りそうな気もしますが。


840 :名無しさん@そうだ選挙にいこう:2012/07/08(日) 00:46:04.60
accessってiPhoneで見られないの?
せっかくだから持ち歩きたいんだけど。

841 :名無しさん@そうだ選挙にいこう:2012/07/08(日) 13:41:44.39
[暗号化]と[閉じる時に最適化]の両方を設定してると、ある日突然終了時にパスワード聞いてきて何入れても正しく終了できなくなる
一度そうなると修復不可能
VISTA Win7 Access2007 Access2010 、かなり前から継続的に発生してるんだが
同様の報告を聞かないんだけど
[暗号化]と[閉じる時に最適化]の両方を設定してる人って少ないの?

842 :名無しさん@そうだ選挙にいこう:2012/07/08(日) 13:52:58.49
そんな信頼性が疑わしい機能は自動では使わないな
暗号化なんてメリットよりもトラブルの方が多いイメージしか無いし

843 :名無しさん@そうだ選挙にいこう:2012/07/08(日) 14:03:56.71
ありがトン、やっぱそんなものか

844 :名無しさん@そうだ選挙にいこう:2012/07/08(日) 14:07:10.33
あくまでもイメージだから実際にトラブルが多いかどうかはわからない
パフォーマンスが落ちそうな気はするけど
あと手動での最適化はもちろんやる
当然バックアップを取った上でだが

845 :名無しさん@そうだ選挙にいこう:2012/07/08(日) 14:30:25.48
手動ってのは面倒だなぁ

846 :名無しさん@そうだ選挙にいこう:2012/07/09(月) 13:12:54.68
アクセス2007です。
最初はデータの変更が出来たのに、なんだかんだいじっていると、
"このレコードセットは更新できません"
になってしまいました。
いったいどんなことをやると、
"このレコードセットは更新できません"
が出るようになるのでしょうか?

847 :名無しさん@そうだ選挙にいこう:2012/07/09(月) 13:24:53.61
・access2007を立ち上げる→空のデータベースを新規作成する→オフィスボタン→開く→ファイルの種類をテキストファイルにする→csvファイルを読み込む
では、csvファイルを参照するだけ。
・access2007を立ち上げる→空のデータベースを新規作成する→外部データ→インポート→テキストファイル
で、csvファイルのインポートが可能になる。

848 :名無しさん@そうだ選挙にいこう:2012/07/09(月) 13:26:08.39
↑失礼、ごばく。

849 :名無しさん@そうだ選挙にいこう:2012/07/16(月) 12:54:41.08
ACCESSの元からある検索機能って使えないね^^

850 :名無しさん@そうだ選挙にいこう:2012/07/17(火) 08:27:27.99
office2013カスタマープレビューにAccessが無い件について

851 :名無しさん@そうだ選挙にいこう:2012/07/17(火) 08:32:56.29
いや、あった
誰か新機能をリストアップして

852 :名無しさん@そうだ選挙にいこう:2012/07/17(火) 12:29:38.73
つぎのofficeは2013なんだ orz
今年中に出ると思ってた

853 :名無しさん@そうだ選挙にいこう:2012/07/17(火) 22:57:16.94
accdrが開けない >>851

854 :名無しさん@そうだ選挙にいこう:2012/07/18(水) 20:26:39.09
Property InputParameters As String
Property MaxRecButton As Boolean
Property UniqueTable As String

855 :841:2012/07/19(木) 13:22:33.41
2013で治ってた

856 :名無しさん@そうだ選挙にいこう:2012/07/21(土) 06:44:51.42
2007の新機能の添付ファイルフィールドって使いやすいの?
たくさんのファイルをmdb内にバインドしてバックアップが楽になる?

857 :名無しさん@そうだ選挙にいこう:2012/07/22(日) 10:25:09.77
2007持ってないけどそれってOLEフィールドにオブジェクト埋め込むのとどう違うんだ

858 :名無しさん@そうだ選挙にいこう:2012/07/27(金) 02:27:40.75
sharepoint関係の新機能の他には
古い形式のサポートを打ち切ったことくらいしか変更点が無さそうなんかな

859 :名無しさん@そうだ選挙にいこう:2012/07/31(火) 21:55:04.05
【 システム環境  】 Windows7, Access2003
【 VBAが使えるか 】 いいえ
【 VBAでの回答  】 可(VBAしかなければ)
【 検索キーワード 】 検索ワードが思いつきません
テーブルA(成績テーブル)からテーブルB(ID別履歴)を作りたいのですが、よい方法が思いつきません。
何か良い方法ありませんか?

860 :名無しさん@そうだ選挙にいこう:2012/07/31(火) 21:57:45.15
===テーブルA===

(ID)(受講日)  (氏名)(点数)
01  10/1     阿部   70
02  10/4     阿部   80
03  10/5     伊藤   60
04  11/1     阿部   75
05  11/8     伊藤   83
06  11/6     阿部   100

861 :名無しさん@そうだ選挙にいこう:2012/07/31(火) 21:59:47.20
===テーブルB===

(ID)(前回ID)(前々回)(3回前)(4回前)(5回前)
01
02   01    
03  
04   02     01
05   03
06   04     02     01

862 :名無しさん@そうだ選挙にいこう:2012/08/01(水) 01:03:19.15
まずその表を作らなくてもよい方法が無いかどうかを考えた方がいい

863 :名無しさん@そうだ選挙にいこう:2012/08/01(水) 09:35:01.44
== 生徒マスタ ==
(生徒ID)(氏名)(生年月日)(入会日)

== テストマスタ ==
(テストID)(テスト名)(実施日)

== テストデータ ==
(テストID)(生徒ID)(点数)(受講日)


テストが一斉に行われるならマスタの実施日
実施日がバラバラならデータ受講日を使えばいい


864 :名無しさん@そうだ選挙にいこう:2012/08/01(水) 10:28:39.50
クロス集計で済んでしまうような気もするけど

865 :名無しさん@そうだ選挙にいこう:2012/08/01(水) 21:00:54.48
>>859
Pivotテーブルで一撃な処理に思えます

866 :名無しさん@そうだ選挙にいこう:2012/08/01(水) 21:08:16.47
ん、違うか テーブルBが理解できない。Pivotは違うかも 適当すまん。

867 :859:2012/08/01(水) 23:00:00.19
>862>863>864>865
レスありがとうございます。

テーブルBの利用例として、
前回と前々回の合計点で80点以上だった受講IDの抽出、や過去5回のテスト中1回でも65点以下だった受講IDの抽出(上記テーブルなら05)、
受講IDごとの過去5回の平均点、受講IDごとの10月以前は省いた過去5回の合計

などがあります。
これは>>863のテーブルからでは困難に思います。

本来このような作業はACCESS向きではないでしょうが、
EXCELだとデータ量が多くなると重くなりがちで基本的には65536までになってしまいます。
試しにテーブルBを作ってみると(EXCELからのインポート)とても快適なので
受講IDを追加するたびにテーブルBが自動的に更新されないかと思い質問しました。

868 :名無しさん@そうだ選挙にいこう:2012/08/01(水) 23:26:03.07
まず定石としてIDは個人を識別する為に使うべきだし
履歴は個人のテーブルとは別に起こすべき
それさえ出来てりゃ抽出条件や演算はどうにでもなる

869 :名無しさん@そうだ選挙にいこう:2012/08/02(木) 00:38:19.76
TRANSFORM Max(T1.ID) AS F2
SELECT Q1.テーブルA.ID
FROM (SELECT テーブルA.ID, T1.ID, DCount("*","テーブルA","[氏名]=""" & [テーブルA]![氏名] & """And [受講日]<=#" & [T1]![受講日] & "#") AS F1, T1.受講日
FROM テーブルA INNER JOIN テーブルA AS T1 ON テーブルA.氏名 = T1.氏名
WHERE (((テーブルA.受講日)>=[T1]![受講日]))
) AS Q1
GROUP BY Q1.テーブルA.ID
ORDER BY Q1.テーブルA.ID, Q1.F1
PIVOT Q1.F1;

列の順番違うけど。
受講日がダブってるとおかしくなるだろうな・・・ IDが受講日順ならIDでDCountするか・・・

870 :名無しさん@そうだ選挙にいこう:2012/08/08(水) 18:05:43.46
てs

871 :名無しさん@そうだ選挙にいこう:2012/08/09(木) 22:26:20.30
2013インストールした人います?
あんま変わらないですかね

872 :名無しさん@そうだ選挙にいこう:2012/08/11(土) 10:07:47.89
2013 Preview の自動アプデート来たけど、何か変わった?
リビジョンは上がってるんだろうけど

873 :名無しさん@そうだ選挙にいこう:2012/08/13(月) 23:03:33.70
とあるフィールドに空白(Null)が100レコードあるとして、
その空白を50レコード分だけ抽出するって事はできないでしょうか?
指定した件数分の空白を抽出したいのです。

874 :名無しさん@そうだ選挙にいこう:2012/08/13(月) 23:21:56.75
select top 50 * from table1 where field1 is Null order by ID;

875 :名無しさん@そうだ選挙にいこう:2012/08/16(木) 16:22:55.24
Win7+Access2010 にてリストビューコントロール(sp6)を使っているんですが、
アップデートされてから?、リストビューコントロールの
クリックやダブルクリックが効かなくなった。

こんな症状の方、いませんか?

876 :名無しさん@そうだ選挙にいこう:2012/08/16(木) 16:54:21.74
つづきです。

ちなみにXp+Access2000の環境では動作します。
ソースは以下の簡単なものなのですが、クリックが効いてくれません。

Private Sub Form_Open(Cancel As Integer)

Me![リストビュー].View = lvwReport
Me![リストビュー].LabelEdit = 1
Me![リストビュー].GridLines = True
Me![リストビュー].HideSelection = False
Me![リストビュー].FullRowSelect = True
Me![リストビュー].AllowColumnReorder = False
Me![リストビュー].MultiSelect = False

Me![リストビュー].ColumnHeaders.Clear
Me![リストビュー].ColumnHeaders.Add , , "aaa"
Me![リストビュー].ColumnHeaders.Add , , "bbb"
Me![リストビュー].ColumnHeaders.Add , , "ccc"

Me![リストビュー].ListItems.Clear
Set itm = Me![リストビュー].ListItems.Add(, , "001")
itm.SubItems(1) = "002"
itm.SubItems(2) = "003"

End Sub

Private Sub リストビュー_Click()
MsgBox "クリックされました。"
End Sub


877 :名無しさん@そうだ選挙にいこう:2012/08/16(木) 17:08:31.61
すみません、自己解決しました。
OCXの再登録にて解決でした。

878 :名無しさん@そうだ選挙にいこう:2012/08/16(木) 21:31:10.63
>>877
ちゃんとAccess Clubにも解決したってCloseしとけよ

879 :名無しさん@そうだ選挙にいこう:2012/08/16(木) 21:36:58.20
別に放置で宜し

880 :名無しさん@そうだ選挙にいこう:2012/08/16(木) 21:59:11.36
以下のトピックを参照して下さいとか書きに来るぐらいなら最初から出てくるなと思う
そのくせ肝心のリンクが切れてたりするし

881 :名無しさん@そうだ選挙にいこう:2012/08/17(金) 00:29:00.63
>>879
クズが

882 :名無しさん@そうだ選挙にいこう:2012/08/17(金) 19:45:25.16
Windows8RTでAccess動くの?
デザインモードは無くても良いんだけど

883 :名無しさん@そうだ選挙にいこう:2012/08/17(金) 20:29:27.83
テーブルのフィールドが多いと動作重くなるんですか?
クエリで計算させたフィールド(テーブルには保存しない)とどっちが重いですか?

884 :名無しさん@そうだ選挙にいこう:2012/08/17(金) 21:35:24.06
>>883
RBS原理主義者の原則では、フォームで計算 >> クエリで計算 >>>>> 計算値をテーブルに持つ
表形式フォームでグリグリスクロールして使うなら、計算値をテーブルに持った方がスマート

885 :名無しさん@そうだ選挙にいこう:2012/08/18(土) 19:32:13.13
計算をテーブルに保存した方が早いという事ですか?。
でも計算はテーブルに保存しない方が良いとかよく聞きますがどうでしょうか?

886 :名無しさん@そうだ選挙にいこう:2012/08/18(土) 19:57:57.63
「早い」と「良い」は関係ないだろ

887 :名無しさん@そうだ選挙にいこう:2012/08/18(土) 20:12:47.79
>>877
お盆明けて2日目の今日、WindowsUpdateがきっかけと思われるMSCOMCTL.OCX不具合が数台のPCで発生しました。
regsrv /u MSCOMCTL.OCX
regsrv MSCOMCTL.OCX
で復旧。再登録....がヒントになって解決できました。ありがとう。


888 :名無しさん@そうだ選挙にいこう:2012/08/18(土) 20:24:30.40
regsrv -> regsrv32

889 :名無しさん@そうだ選挙にいこう:2012/08/19(日) 21:36:03.29
クエリで計算して値が出せるものはテーブルに保存しないのがDBの基本とか言うよね
それってテーブルに保存すると無駄に容量食うから
クエリでその都度計算した方が節約になるって事?

890 :名無しさん@そうだ選挙にいこう:2012/08/19(日) 21:58:28.86
それ、昔の話し

正規化って安直な方法があって、それやると簡単に大体はまともに動くDBが作れる
その場合は、テーブルに計算値保存しない形になるから、そうなる

実際は、実務・現場の状況に合わせて色々考えて作るので、計算値をもった方が良い事もある

891 :名無しさん@そうだ選挙にいこう:2012/08/19(日) 22:51:02.65
数量と単価があれば金額はいらない・・・
そういう風に考えていた時期が俺にもありました。

この場合実際に集計などで必要なのは数量と金額なので、単価を消すのが正しい。
ここテストに出るよ!

892 :名無しさん@そうだ選挙にいこう:2012/08/20(月) 20:27:39.95
年齢も計算が複雑だから、ちゃんとテーブルに保存しろよ

893 :名無しさん@そうだ選挙にいこう:2012/08/21(火) 13:22:27.32
時代はクラウド
正規化なんざあ時代遅れよ

894 :名無しさん@そうだ選挙にいこう:2012/08/21(火) 15:17:52.15
>>893
アタマの悪い人キタ━━━━━━(゚∀゚)━━━━━━ !!!

895 :名無しさん@そうだ選挙にいこう:2012/08/21(火) 19:54:27.63
はじめまして。WindowsXpSP3+Access2003です。よろしくお願いいたします。
(「改行が多すぎます」と出てしまうので2回に分けます。)

「A」「B」の2つのフォームがあり、
 ・フォームAの中にサブフォームZ
 ・フォームBの中にサブフォームZ
という構成になっています。

で、最初は【A】の形で書いていて、エラーも出ず普通に動いていたんですが、
よく考えたらサブフォームZに対する処理は別プロシージャに書いて呼び出せば1つで済むな、
と思い【B】の形にしたところ、「!サブフォームZ」のところが黄色くなって
「コンパイルエラー 参照が不正または不完全です。」となってしまいます。

サブフォームを別プロシージャで参照(?)するには、どのように書いたらいいのでしょうか?
よろしくお願いいたします。
(つづく)


896 :895:2012/08/21(火) 19:59:07.18
(つづき)
【A】
Sub Shori()

  With Forms!フォームA
    〜フォームAに対する処理〜
    With !フォームZ
      〜サブフォームZに対する処理〜
    End With
  End With

  With Forms!フォームB
    〜フォームBに対する処理〜
    With !フォームZ
      〜サブフォームZに対する処理〜
    End With
  End With

End Sub



897 :895:2012/08/21(火) 20:00:33.05
すいません3回になってしまいました。

【B】
Sub Shori()

  With Forms!フォームA
    〜フォームAに対する処理〜
    Call FormZ_no_Shori
  End With

  With Forms!フォームB
    〜フォームBに対する処理〜
    Call FormZ_no_Shori
  End With

End Sub

Sub FormZ_no_Shori()

  With !サブフォームZ  ←ここが黄色くなってエラーになってしまう。
    〜サブフォームZに対する処理〜
  End With

End Sub

以上です。よろしくお願いいたします。


898 :名無しさん@そうだ選挙にいこう:2012/08/21(火) 21:48:21.71
FormZ_no_ShoriはFunctionにしてObject型の引数、例えばobjFormでFormの参照を引き渡して
with objForm!FormZ
とかでどうかな。検証してなくて無責任発言すまん。

899 :895:2012/08/22(水) 00:50:55.98
>>898
ありがとうございます。
そんな方法があるんですね。早速トライしてみます。

>>895-897は職場だったんですが、
会社の回線からは2chに書き込めないんで携帯で書き込んで、
今は家に帰ってきたんですが、こちらは今度Accessが無い・・・。

というわけでトライは明日・・・
何日も悩んでたんで、早くやりたいです。
どうもありがとうございました。


900 : 忍法帖【Lv=2,xxxP】 :2012/08/22(水) 18:34:20.84
こんにちは。

【 システム環境  】 WindowsXP, Access2003
【 VBAが使えるか 】 ちょこっと
【 VBAでの回答  】 可
【 検索キーワード 】 アクセス クエリ フィールド 式1:

すみません、他人が作ったクエリのフィールド名で関数のみのがあるんですが
試しに全く同じようにクエリ作成しても私のフィールド名には「式1:」が数式の前に勝手にくっつきます。
SQLをコピーしてきて貼ってもまた式1がくっつくのですが
関数のみのフィールド名ってなんなんでしょう?データシートビューのフィールド名は「Expr××××」です。
ちなみに関数のみフィールドクエリのSQL見てもAS文句はついてません。

ちなみにフィールド名として入ってた関数→ Format(Date(),"yyyymmdd")には
抽出条件があって→ Between [BEGIN_DATE] And [END_DATE]と入ってます。

BEGIN_DATEとEND_DATEは列の名前でそれぞれyyyymmddの形式で日付のデータがはいってます。
この関数のみ名前フィールドは非表示にしてあって、BEGINとEND列に違う書式とか
空欄とかあった場合にエラーにならないようにつけたのかなって思ってたのですが
関数のみのフィールドに式1がつくのは普通でも、なぜ関数のみフィールド名が存在するのでしょうか。。。

ぐぐってもどうしてもわかりません どなたかわかるかたいらっしゃいましたら教えてください。

901 :名無しさん@そうだ選挙にいこう:2012/08/22(水) 19:02:30.41
SQLのかっこを外せば消えない?

902 :名無しさん@そうだ選挙にいこう:2012/08/22(水) 19:23:00.46
>>900
sql文貼るわけにはいかないですか文面だけではわからなかった
差し障り無ければ

903 :名無しさん@そうだ選挙にいこう:2012/08/22(水) 20:17:42.05
ビルダを通さず直接AS抜きのSQLを埋めれば同じ現象は再現出来るけどな
ビルダを覗いた時点で修正されるけど

904 :名無しさん@そうだ選挙にいこう:2012/08/23(木) 09:03:12.98
SELECT [hoge].hoge
FROM [hoge]
WHERE Mid("X",1,1)="X";



905 :名無しさん@そうだ選挙にいこう:2012/08/23(木) 15:21:45.55
【韓国】国がやらないんなら私たちで韓国潰し4
http://ikura.2ch.net/test/read.cgi/ms/1345615932/

906 :名無しさん@そうだ選挙にいこう:2012/08/29(水) 14:51:01.84

WindowsRT向けOffice2013、VBAやマクロに未対応

2012年8月7日 22:36

THE VERGEは7日(現地時間)、マイクロソフトの計画に詳しい情報源からの情報として、ARMベース端末で動作する「Windows RT」向けの「Office 2013」では、
VBAやマクロ、サードパーティー製のアドインは未対応であると報じています。また、その他 “少数” の機能も削除されているとのこと。


907 :名無しさん@そうだ選挙にいこう:2012/08/30(木) 15:25:46.55
VBA使えないOffice???
カス過ぎだろ

908 :名無しさん@そうだ選挙にいこう:2012/08/31(金) 13:20:45.77
VBA抜きのOfficeなんて、それこそ、Kingsoftので十分みたいなことになるな
いまんとこAccess相当品はなかった気がするけど。

909 :名無しさん@そうだ選挙にいこう:2012/08/31(金) 14:38:02.90
USysRibbonsテーブルに
RibbonName: Hide
RibbonName:
<customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui">
<ribbon startFromScratch="true" />
</customUI>
で作ってフォームの「リボン名」をHideにすれば普通リボンは消えるのですが
でもデータシートフォームの時だけはリボン名をHideにしても消えません
データシートフォームでもUSysRibbonsのリボン制御を出すにはどうすればいいのでしょうか

データシートをサブフォームにしたフォームとかで凄く煩わしいのです

910 :名無しさん@そうだ選挙にいこう:2012/09/01(土) 18:45:17.10
contextualTabs の子要素 tabSet で個別に非表示とするか、
カレントデータベースプロパティ [すべのメニューを表示する] で
制御しないとだめだよ。

911 :名無しさん@そうだ選挙にいこう:2012/09/04(火) 12:48:30.43
2013のWebAppsはoffice365のEプランとSharePointOnlineしか出来んの?
無料で使えるのはないですか?

912 :名無しさん@そうだ選挙にいこう:2012/09/08(土) 09:44:15.86
yahoo知恵袋で宿題か卒論かをしつこく質問してる奴が居るな

913 :名無しさん@そうだ選挙にいこう:2012/09/09(日) 19:24:49.53
クエリで計算したフィールドを参照することってできないんでしょうか?
例えば

クエリのフィールド1…Hogeの合計: Sum([Hoge])
クエリのフィールド2…Fuga率: [Fuga]/Sum([Hoge])

Sum([Hoge])を2箇所に書くことになって、手間だし、保守の面でも良くないと思います。
Sum([Hoge])は1箇所に書いて、参照する形にはでないんでしょうか?

914 :名無しさん@そうだ選挙にいこう:2012/09/09(日) 19:35:10.06
Accessは2007から変数が使えるようになりました
やっとマトモになった、今までなんだったんだよwww、修行かよ

>>913
変数を使ってください、そういうの自由自在

915 :913:2012/09/09(日) 19:36:55.70
>>914
レスthx
持ってるの2003だorz

916 :名無しさん@そうだ選挙にいこう:2012/09/09(日) 20:02:27.63
>>913
選択クエリでは可能だが、集計クエリはムリ。
DSumに書き換えろ。

917 :名無しさん@そうだ選挙にいこう:2012/09/09(日) 20:11:10.16
こういうのもある
http://d.hatena.ne.jp/himorogi/20110311/1299814597

918 :913:2012/09/09(日) 21:38:50.67
>>916-917
レスthx
2003だと面倒くさいなぁ。

919 :名無しさん@そうだ選挙にいこう:2012/09/10(月) 07:26:45.36
マクロで変数って話なのか。
vbaと勘違いして混乱した。

920 :名無しさん@そうだ選挙にいこう:2012/09/10(月) 23:21:57.45
AccessからExcelで作った帳票用テンプレートを操作するロジックをVBAで書いています。

帳票xlsxを保存するフォルダとファイル名は、Accessのテーブルデータにより固定で決めており
該当のファイルが既に存在している場合は、テンプレートのSheetをxlsのシートに追加し
該当のファイルが未作成の場合は、テンプレートファイルをコピーしてxlsxにするという流れです。

ロジックは書いてみて、一応どちらの場合もファイルの作成はうまく行っている様に見えるのですが
PCをシャットダウンしようとすると、「○○.xlsxは保存されておりません。保存しますか」という
名前をつけて保存のダイアログメッセージが出てきます。

おそらくVBA上でのExcelの終了処理にぬけがあるのだと思いますが
開いたExcelを閉じるのはどのような構文を書けばよいのかを教えてください。
(今、手元に原本がないのでコピペができません。すいません)

921 :名無しさん@そうだ選挙にいこう:2012/09/11(火) 00:25:26.18
.saveして.quitして=nothingしてる?

922 :名無しさん@そうだ選挙にいこう:2012/09/11(火) 20:55:56.95
>>921
レスありがとうございます。
一応、Save後にQuitして、=Nothingはしておりました。

どうも、Windows終了時に名前をつけて保存が出ていた原因は
デバッグ中にロジック最後のQuitする前にエラーで止まってしまったものが溜まり続けて模様です。
お騒がせして申し訳ございませんでした。

そのデバッグ途中でエラーが出ていた原因がわからなくて困っています。
エラーの原因は「実行時エラー’1004’’cells’メソッドは失敗しました。’global’オブジェクト」というやつで
推測するに、Rangeで指定するセルの絶対参照が不完全で場所が特定できないという類のものだとは思うのですが
指定の仕方がよくわかりません。
ロジックは下記のとおりです。(フォーム上のボタンを押すことで稼動。)
Private Sub cmd検討記録票Excel出力_Click()
Dim myXLS As Excel.Application
Dim myWKB As Excel.Workbook
Dim myWKS As Excel.Worksheet
Dim myXLS2 As Excel.Application
Dim myWKB2 As Excel.Workbook
Dim myWKS2 As Excel.Worksheet
Dim iFilePath As String,oFilePath As String,iFileName As String,oFileName As String
Dim i As String,Dim f As String

oFilePath = Main_FilePath & Me![txt係] & "管理" & "\検討記録票\"
oFileName = Me![txtID] & " " & Me![txt名] & "(" & Format(Me![txt年月日], "ggge年mm月dd日") & "分)記録票.xlsx"
i = MsgBox("ID:" & Me![txtID] & "保存先:" & oFilePath & "ファイル名:" & oFileName & _
"の検討記録票(Excelファイル)を作成しますか?", vbOKCancel, "検討記録票.xlsxの作成")
※続きます

923 :922:2012/09/11(火) 20:59:07.23
>>922の続き
If i = 1 Then
'xlsx存在チェック
If Dir(oFilePath & oFileName) <> "" Then
f = 1
MsgBox "既に" & oFilePath & " の" & oFileName & " は作成済なので、新しいSheetを増設します。"
Else
f = 0
MsgBox "まだ" & oFilePath & " の" & oFileName & " は未作成なので、ファイルを作成します。"
End If
'-----------------------
'---Excelへの処理開始---
'-----------------------
Set myXLS = CreateObject("excel.application") 'Excelオブジェクトの作成
'原紙のExcelファイル(記録票原紙)を開く ※原紙はxltx形式(Excelテンプレート)
iFilePath = Main_FilePath & DataBu_FilePath
iFileName = "検討記録票_原紙.xltx"
Set myWKB = myXLS.Workbooks.Open(iFilePath & iFileName)
Set myWKS = myWKB.Worksheets("検討記録票")
myWKS.Activate

'Excel原紙へのデータ転送処理
myWKS.Range("T01").Value = Busyo_Name
Select Case Me![txt検討領域] '検討記録票の様式の中で、原紙の余分な○図形を削除する処理
Case "A領域"
Call xlsDrawingObjectsDelete("V22:Y22")
Case "B領域"
Call xlsDrawingObjectsDelete("Q22:T22")
Case Else
MsgBox "検討領域がおかしいです。作成された検討記録票は破棄してください。"
End Select

924 :922:2012/09/11(火) 21:00:02.28
>>923の続き
'--------------
'xlsx書出処理
'--------------
'処置検討記録票が既に存在する場合は、そのxlsxファイルの新規Sheetとして出力する。
'     〃   が未作成の場合は、xlsxファイルを作成する。
Select Case f
Case 0 '別名のファイルに保存する
myWKB.SaveAs FileName:=oFilePath & oFileName, FileFormat:=xlOpenXMLWorkbook '2008形式で保存
Case 1 '既存の記録票にSheetをコピーする
Set myXLS2 = CreateObject("excel.application")
Set myWKB2 = myXLS.Workbooks.Open(oFilePath & oFileName)
myWKB.Worksheets("検討記録票").Copy Before:=myWKB2.Worksheets(1)
myWKB2.Close savechanges:=True
Set myWKB2 = myXLS.Workbooks.Open(oFilePath & oFileName)
myWKB2.Close savechanges:=False
Set myWKS2 = Nothing
Set myWKB2 = Nothing
myXLS2.Quit
Case Else
MsgBox "不正な処理です。ご連絡願います。", vbOKOnly, "xlsxファイル書出処理が不正です"
End Select

Set myWKS = Nothing 'Excelファイルを閉じる
myWKB.Close savechanges:=False
Set myWKB = myXLS.Workbooks.Open(iFilePath & iFileName) 'Excelオブジェクトの破棄
myWKB.Close
Set myWKB = Nothing
myXLS.Quit
End If
End Sub

925 :922:2012/09/11(火) 21:01:26.74
※924の続き
922のロジックのサブルーチン
'-----------------------------
'Excel図形消去サブルーチン
'-----------------------------
Sub xlsDrawingObjectsDelete(Rg As String)

Dim myRng As Range
Dim sp As Variant

On Error Resume Next
Set myRng = Range(Rg)

For Each sp In ActiveSheet.Shapes
If Not Intersect(ActiveSheet.Range(sp.TopLeftCell, sp.BottomRightCell), myRng) Is Nothing Then
sp.Delete
End If
Next

Set myRng = Nothing
End Sub

926 :922:2012/09/11(火) 21:07:48.54
925のサブルーチン上でExcelのテンプレートの中から不要な図形を削除するという流れなのですが
これがうまく消えない”時”があるというのが当方を困らせているエラー状況です。
(処理自体はEndまで行き、Excelファイルも出来上がっているのですが、図形が消えていない、ということ)

925のサブルーチン上でアクティブなシートを表示してみたんですが
アクティブなシートがなかったので、922のルーチンで自然に掴んでいたアクティブシートが
サブルーチンに飛んだときに引き継がれていないのだと思います。

しかし、自分が混乱しているのは
このロジックでパソコンを立ち上げた直後に処理を流すと
初回はきちんとロジックが正常に動いて図形がきちんと消えるのです。
(もう一度処理を実行すると、図形が消えない。)

こうなると、初回の処理だけはAccessのソフトの力で、省略されていて不完全な参照を
補う働きがおきているような気がして・・・

927 :名無しさん@そうだ選挙にいこう:2012/09/11(火) 22:50:43.84
サブルーチンの引数を追加してシート名引き渡して
sheet("シート名").selectするか
sheet("シート名").range.......みたいな参照するとどうだろうか

928 :922:2012/09/11(火) 23:37:48.48
>>927
レスありがとうございます。

Call xlsDrawingObjectsDelete("V22:Y22")

Call xlsDrawingObjectsDelete("検討記録票","V22:Y22")
に変更して、サブルーチンに引数で渡してあげて、それで直接参照を試みる

Sub xlsDrawingObjectsDelete(Rg As String)

Sub xlsDrawingObjectsDelete(Sheetname as string,Rg As String)

Set myRng = Range(Rg)

Set myRng = sheet(Sheetname).Range(Rg)
に変更するということですね。

明日、職場で試して見ます。

929 :922:2012/09/13(木) 01:43:50.34
>>927
職場で試してみましたが、結果は変わりませんでした。

それで色々試したところ、原因は最初のロジック(>>923)にある
Set myWKB = myXLS.Workbooks.Open(iFilePath & iFileName)
これにあるようだということがわかりました。

ブレークポイントつけてみて見たところ、myWKBへのセットがうまくいっていないようです。
(カーソルを重ねても何も表示されない)
※但し、Excelファイルはきちんとオープンされます

直後にアクティブブックを確認するロジック
Msgbox "アクティブブックは " & ActiveWorkbook.Name & " です。"
を挿入して処理実行したところ、オープンされたExcelファイルがアクティブとの認識になり、
後続の処理も正常終了したように見えます。(最後の myWKB=nothing も有効であることは確認しました)

しかし、うまくいくのは初回の処理だけで
もう一度同じ処理をすると、今度は挿入したアクティブブックを確認するロジックでエラーがでます。
(.With変数が設定されておりません、とかいうようなメッセージ)

よくわからないのですが、多分、何かのお約束事に違反している構文エラーで
初回処理時には、アプリケーション側が勝手にいいように解釈してくれて処理を通してくれたが
2回目はダメ、みたいなオチになっているような気がします。
(元のロジックのほうに書いてある「myWKS.Range("T01").Value = Busyo_Name」などはうまく処理してくれますが
サブルーチンの方に同じことを書くと「_Globalメゾットがおかしい」とかいうエラーが出ます。同様に図形処理も上手く行きません)

参照設定を確認しましたが、「Microsoft Excel 12.0 Object Library」は入っております。

ここ3日ほど、ずっとこのエラーに悩まされております。
構文の書き方が間違っているでしょうか、是非教えてください
よろしくお願いしますm(_ _)m

930 :名無しさん@そうだ選挙にいこう:2012/09/13(木) 17:34:10.46
随分前に2000で書いた似たような処理のvbaを捜して見てみたけど、
↓みたいな感じになってた。長いので端折って書くね。

Dim objEXE As Object
Dim objWb As Object

'Excelを利用できるように
Set objEXE = New Excel.Application

'ファイルのパスを指定
Set objWb = objEXE.Workbooks.Open("開くファイル名")

'処理するシート名をSheet1とすると
objEXE.Worksheets("Sheet1").Select

Sheet1に対する処理

objEXE.ActiveWorkbook.SaveAs FileName:="保存するファイル名"
objEXE.Quit

宣言がボタンのクリックイベント内ならイベント終了で変数の値はクリアされるから
NEWあたりが臭そうだけどね。
全然違ってたらごめんよ。

931 :名無しさん@そうだ選挙にいこう:2012/09/14(金) 20:23:31.36
どなたか教えてください。
住所入力支援ウィザードで手入力した郵便番号は、
住所に変換しますが、郵便番号をインポートや、
コピペした場合、住所変換してくれないです。
これを変換させるには、どうすればいいでしょうか?


932 :名無しさん@そうだ選挙にいこう:2012/09/14(金) 23:25:35.65
>>931
確か非公開らしいができたはず。ネット検索すれば個人サイトにサンプルがあったと思うが。
金が出せるのなら、YUBIN7(今も同じ名前かは知らないが)を使う。
あとは自分でデータを落としてきて作るかだな。



933 :922:2012/09/15(土) 00:06:55.57
>>930
レスありがとうございます。
試してみましたが、結果はうまくいきませんでした。

その後、サブルーチンをCallすることでSETしたオブジェクト変数がおかしくなるのかと思って、
サブルーチン化を諦めてゴリゴリッと直接記述しましたが、それでもダメだったので、もう何がなんだか・・・

アクティブシートの確認用に
myWKS.Activate
Msgbox "アクティブシートは " & ActiveSheet.Name & " です。"
と仕込んでおき、初回の処理では問題なく「アクティブシートは 検討記録表 です。」
とか出る癖に、同じ処理をもう1回行うと今度は「.With変数が設定されておりません」とか。
何で初回の処理では通るんだろう・・・

現状では、初回処理→正常終了、2回目の処理→「ActiveSheet」とか「ActiveWorkbook」とかを受け付けてくれないので

Set myRng = Range(Rg)
For Each sp In ActiveSheet.Shapes
 If Not Intersect(ActiveSheet.Range(sp.TopLeftCell, sp.BottomRightCell), myRng) Is Nothing Then
   sp.Delete
 End If

を下記のように「myWKS」を付けたところ、多少は進みましたが
それでもIF文のところで「.With変数・・・」か「Intersectメゾットは失敗しました。_Global・・・」のエラーが出てしまいました。

Set myRng = myWKS.Range(Rg)
For Each sp In myWKS.Shapes
 If Not Intersect(myWKS.Range(sp.TopLeftCell, sp.BottomRightCell), myRng) Is Nothing Then
   sp.Delete
 End If
もう実装は無理かと思ってしまいますが、何でも結構ですのでご指摘いただければありがたいです。
スレ汚しすいませんでしたm(_ _)m

934 :名無しさん@そうだ選挙にいこう:2012/09/15(土) 00:16:14.53
>>932
VBAで作成するしかなさそうですね。
ありがとうございました。

935 :名無しさん@そうだ選挙にいこう:2012/09/15(土) 08:57:59.60
業務データが膨大になりエクセルからアクセスで管理することになりそうです。
さわりだけかじった事はありますが本格的にDB構築したいので家で勉強したいと思います。
以前使用したテキスト&データファイルがアクセス2007用です。
会社では2003を使用します、そこで

@アクセス2010と勉強本を購入(2007の参考データは問題なく使用できますか?)
Aアクセス2007を購入してお勉強。
Bアクセス2003と勉強本を購入
どの選択がよいでしょう?ご教示願います。

936 :名無しさん@そうだ選挙にいこう:2012/09/15(土) 09:02:12.03
まず最初に、データモデリングの勉強だな

937 :名無しさん@そうだ選挙にいこう:2012/09/15(土) 09:51:07.11
>>935
Access始めないでExcel+SQL Server 2010 Expressと言う方向もあります。
勉強するのは触るのと同じ2003がお勧め。買ってもらえるなら2010か数ヶ月待って2013で始めた方がもっと良い。



938 :930:2012/09/15(土) 14:54:47.72
>>933
>>922から順番にコピーして試してみようと思ったんだけど、宣言部から構文エラーや未宣言変数やらで
前に進まない。
例:Dim i As String,Dim f As String → Dim i, f As String、Main_FilePath → 宣言されてないか他所で宣言?
まさかとは思うけど宣言は強制してるよね。→ Option Explicit

939 :922:2012/09/15(土) 17:19:54.51
>>938
レスありがとうございます。
変数iとfについては、コピペしたところの直前でDimで宣言してます。
(ボタンを押したときに、まず実行可否をユーザに選択させて変数iに結果を登録し
出力先のExcelファイルのパスを取得して、既にファイルがあるかどうかを変数fに記録する。
ファイルがあればそのファイルの新しいシートとし、なければテンプレートのファイルを名前をつけて保存とする、というロジックを
コピペしたロジックの直前に書いております。)

手元にモジュールがないので、職場で確認しますが
確かOption Explicitは先頭で書いていたと思います。
不確かで申し訳ございません。



940 :922:2012/09/15(土) 17:29:36.28
コピペしたロジック内で変数宣言していない「Main_FilePath」 & 「DataBu_FilePath」については
Publicで宣言しており、Accessファイルの起動時にテーブルに書かれているファイルのパスを
常に持っている、という形です。

941 :名無しさん@そうだ選挙にいこう:2012/09/15(土) 19:10:09.21
>>939の解説は>>922のコードのことだよね。
こちらの>>938での書き方が悪かった。↓のように
例:Dim i As String,Dim f As String → 構文エラー とすれば良かった。
Dim i, f As String と書けばいいって意味で書いたんだけど通じないよね。
それで>>922-925のコードを丸写しでiとfの宣言だけ上のように修正して、5つのコントロールには
適当な文字を入れて普通に動いてるよ。そもそも図形は書いてないからこの部分はどうだか分からないけど
何度クリックしても大丈夫だよ。
3つのpublic変数(>>940+Busyo_Name)には何も代入してないけどね。
win7pro64bit office2010

942 :935:2012/09/15(土) 21:40:35.95
2007よりも2010が安かったのでヨドバシで教則本と
買ってきました、基礎編はすいすい進みましたので
この連休中に応用編まで勉強します。

943 :名無しさん@そうだ選挙にいこう:2012/09/15(土) 22:01:36.48
>>920の症状はエラー発生時に開かれていたExcelが閉じられないまま処理が終了するため。
エラーをトラップして、Excelが開いてたらquite するようにすればいいよ。

944 :名無しさん@そうだ選挙にいこう:2012/09/15(土) 22:48:59.33
>>942
応用なんて使ってりゃ勝手に身につくんで、
基礎編を100ぺん読み直せ。

それぐらい基礎が大事だ。

945 :935:2012/09/15(土) 22:52:58.44
>>944
了解しました!

946 :名無しさん@そうだ選挙にいこう:2012/09/17(月) 01:14:34.99
accessクラブまだ復帰できないのかなぁ?

947 :名無しさん@そうだ選挙にいこう:2012/09/17(月) 16:50:44.77
復帰しなくていいよ。
あんなひねくれた連中見たこと無い。
プログラムばっかやってるとああなるんだろうね。

948 :名無しさん@そうだ選挙にいこう:2012/09/17(月) 20:57:47.79
>>922
検証していただき、ありがとうございます!!
正常動作しているとのことですので、ロジック的には問題ないようでよかったです。
自分の環境で動かない原因が良くわかりませんが、頑張って当方の環境でも動かしたいと思います。
当方の環境はWindowsVista32bit&Office2007です

>>943
>>920 の件は仰るとおり、エラーによりExcelが開いたままになっているためですね。
(なので、現状はエラーが出たら、適当なExcelファイルを開いて。保存しないで終了を手動でやってます。)
エラートラップし掛けていないのは、書き方が良くわかっていないということが大きいので
ネットで調べて仕掛けるようにしたいと思います。

ありがとうございますm(_ _)m

949 :922:2012/09/18(火) 21:04:37.40
>>938
ご指摘にとおり、宣言強制のOption Explicitが全てのモジュールで抜け落ちておりました。
それによる宣言漏れも2箇所見つかりました。ありがとうございます。
しかし、残念(?)ながら問題のロジックとは関係ない場所だったので、状況に変化はありませんでした。

>>943
エラートラップを仕掛けることができました。
エラーが出た際にはそちらに飛ぶようになり、手動操作が自動になったので少し楽ができるようになりました。
ありがとうございました。


>>941
こちらの環境では、>>933の状態で、相も変わらず2回目では落ちるという状況が続きました。
実情は2周目のサブルーチン部分の↓で「「Intersectメゾットは失敗しました。_Global・・・」」がでるのですが、
 If Not Intersect(myWKS.Range(sp.TopLeftCell, sp.BottomRightCell), myRng) Is Nothing Then
メインルーチン上で「Set myWks = myWKB.Worksheets("検討記録票")」した後に
 myWKS.Activate
 Msgbox "アクティブシートは " & ActiveSheet.Name & " です。"
をやると、ActiveSheet.Nameが「with変数が・・・」というエラーが出る以上、
2周目でのワークシートのつかみ方に何らかの問題があるようです。
(メインルーチン上でセルに文字を代入する処理までいかせると、うまく代入できるというのが何でかよくわかりませんが)

ちなみに、変数のmyXLS、myWKB、myWKSについては、クラスモジュール内のサブルーチン(xlsDlawingDelete)上でも適用範囲とすべく
プロシージャ内からモジュール先頭での宣言に変えています。


もう、このよくわからない症状は、自分のPC(Vista+Office2007)のせいじゃないか
とかオカルト的な発想になってきて現実逃避気味になってきましたがorz

950 :名無しさん@そうだ選挙にいこう:2012/09/18(火) 22:01:42.69
こちらでエラーが出ないのは図形がないテンプレートファイルを使ってるからで、
今度は図形有で試してみるから、どの範囲にどんな図形があるのか書いてみて。

951 :922:2012/09/19(水) 07:45:33.49
>>950
検証していただき、ありがとうございます。

テンプレートファイルには、「A・B」というセルがあって
その”A”と”B”に最初から楕円の図形をかぶせています。

それで、データがAならBのほうの図形を消す、という処理です。

ロジックは
Select Case Me![txt検討領域]
Case "A領域"
Call xlsDrawingObjectsDelete("V22:Y22")
Case "B領域"
Call xlsDrawingObjectsDelete("Q22:T22")
Case Else
MsgBox "検討領域がおかしいです。作成された検討記録票は破棄してください。"
End Select

サブルーチンは
For Each sp In ActiveSheet.Shapes
  If Not Intersect(ActiveSheet.Range(sp.TopLeftCell, sp.BottomRightCell), myRng) Is Nothing Then
  sp.Delete
End If
Next
という感じです。

952 :名無しさん@そうだ選挙にいこう:2012/09/19(水) 17:24:46.06
2 回目のコード実行時に Excel のオートメーションが失敗する
http://support.microsoft.com/kb/178510/ja

953 :名無しさん@そうだ選挙にいこう:2012/09/19(水) 22:23:29.22
ド素人です。ルックアップウィザード機能についての質問です。
フィールドの値を選択肢から選択できるようにする作業。
ルックアップ機能を使って、性別というフィールドの値を(男、女)という選択肢から選択できるようにしたいのですが、
[表示する値をここで指定する。]→リストの列数(1)と入力Col1に、男、女と入力→ラベルは性別のままで[複数の値を許可する。]にチェックをいれ、完了としました。
すると、性別のデータ型を確認してみると、[数値型]に固定されていました。
どうしてこのような事が起きたのでしょう。最初のウィザード画面は、[ルックアップフィールドの値は別のフィールド、クエリから取得する]にチェック入れ進めていくのでしょうか。
作業段階の説明を教えてください。


954 :名無しさん@そうだ選挙にいこう:2012/09/20(木) 00:02:44.91
Col1に、男 下の行をクリックして女、そのまた下の行をクリックしておかま、
ウィザード途中の画面上では一列三行であればおk 説明とか面倒
そのテーブルをソースにフォーム作ってみればどうなってるか確認でk(ry

955 :名無しさん@そうだ選挙にいこう:2012/09/20(木) 19:46:31.35
アクセス2010一週間目の初心者です。IIF関数と演算式で抽出する問題があります。内容は、「届出」が「YES」の場合、「時間数」の0.1の値を表示 上記以外の場合「時間数」の0,3の値を表示 という内容です。全く検討もつきません。よろしくお願いします。

956 :922:2012/09/20(木) 20:58:14.68
>>952
HP見ました。
原因は正にこれでした。

しかし、色々試してみましたが、絶対参照の仕方がよくわからなず、コーディングが2週間近く進まなかったので
結局、範囲内の図形を一律削除すること方針を諦めて、
下記のような図形をひとつずつ削除することで乗り切りました。
 Set myWKS = myWKB.WorkSheet("検討記録表")
 myWKS.Shapes("検討楕円A").Delete

多くの方に助けていただき、誠にありがとうございましたm(_ _)m

957 :名無しさん@そうだ選挙にいこう:2012/09/20(木) 21:11:15.84
>>1
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━ 以下数行ぐらいちゃんと嫁

IIF(1に即した質問形式=yes,やさしく回答,叩く・ド突く・シカトする)

な風に最初に条件(式) 真ん中に真(True)の場合 右が偽(False)の場合

958 :名無しさん@そうだ選挙にいこう:2012/09/20(木) 21:22:50.14
>>956
ハナからExcel側に書き込まれてる図形をAccess側で処理しようとするからコトはややこしくなる
Excelの処理はExcelに任せたほうが良いのでは?
Accessから渡されたデータを元にExcelVBAで○を付ける消すしたほうが安全な気が  ま、自分ならそおするってだけだが

959 :名無しさん@そうだ選挙にいこう:2012/09/20(木) 21:29:56.05
Accessのデータを保存しようとしました。
すると、入力規則でエラー’CHECK節約の評価でエラーが発生しました。’
という画面が出てきて何もできない状態になりました。
どうすればいいのですか?

960 :名無しさん@そうだ選挙にいこう:2012/09/20(木) 23:31:58.57
マクロ嫌い

961 :名無しさん@そうだ選挙にいこう:2012/09/21(金) 07:03:26.74
>>957
ありがとうございます。何とかなりそうです。ルールを守れるように努力します。

962 :922:2012/09/21(金) 07:42:44.35
>>958
確かに仰るとおりExcel側で処理できることはExcelでやらせた方がいいと思います。

各拠点のユーザにやらせる時に、ネックとして起動時に出る「セキュリティ警告」の存在があり
Accessの1ファイル(フロントエンドAccde)を各自のDドライブに置き、そこを信頼できる場所に設定してもらうことで
2回目以降はスムーズな運用が期待できる
と考えてAccessでやらせようと考えた私大でした。

今となってはこのネックについてもExcelでも回避できる気が確かにします

963 :名無しさん@そうだ選挙にいこう:2012/09/21(金) 18:55:36.56
【 システム環境  】 Access2010
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可

スケジュールデータをJoinする際に、日付が飛び飛び歯抜けではなく
ある相当な期間の全日数を基準にしたいと思います。
しかし自動生成データをJOIN相手とする方法がわかりません。

そこで
A案:あらかじめその日数を流し込んだテーブル相手にJoin
B案:初回にその期間の日数テーブルを定義し、日数分のループでINSERT
などは思いつきました。

しかしAはただの日付インクリメントに過ぎないものをテーブルとして
保持するのは正直疑問があり、
Bはテーブルを保存せず変数上だけで取り扱えないか、また
INSERTのループをVBAでなくSQL内でできないかと考えています。

その他、そもそもの設計時点で別のやり方がないかとも迷っており、
何かアドバイスをお願いします。

964 :名無しさん@そうだ選挙にいこう:2012/09/21(金) 19:45:21.57
>ある相当な期間  次第だが、たぶんA案のがよっぽど早い
処理もだけど、これに拘ってる時間を他に割り当てられるし

それでは「負けだ」とか思うんならもっとディープな回答を待

965 :名無しさん@そうだ選挙にいこう:2012/09/21(金) 20:13:29.57
http://doruby.kbmj.com/hotdog/20120920/Postgresql_generate_series_
私もAccessでやってみたいです。
今はA案です。


966 :名無しさん@そうだ選挙にいこう:2012/09/21(金) 20:21:17.45
>964
レスありがとうございます。
たしかに考えるよりはやったほうが早いかもですねえ。

>ある相当な期間
についてですが、はっきり書くと、簡易ライフログを考えています。
そこで誕生日から現在日までを列挙したいのですが、たとえば80年間だと
3万日弱となり、また人により日付は異なります。
誕生日入力後の初回生成するにしても以後無意味に3万レコードをハンドリングするのもどうかなあと。

>965
興味深い記事です。後程読ませていただきます。

967 :名無しさん@そうだ選挙にいこう:2012/09/21(金) 20:35:37.31
レオヤナギ ?@reoyanagi
RT "@tohohokanri: 江川紹子さんは上杉隆を眼の敵にして、「デマを言うな」と非難するが、
去年3月に、「メルトダウンなんて言ってはいけない」と「デマ」を流したのは江川さん自身。
江川さんは科学的知識は苦手ではないのか? 
放射能のことには首を突っ込まないほうがいいと思う。
2012年8月19日 - 13:59
https://twitter.com/reoyanagi/status/237338029839241216

上杉がこれをRTしてるんだけどさ、1か月も前のネタなんだよね。
確か前もこれをRTしてた気がしたんだが気のせいか?

目の敵にしてるのは江川じゃなくて、完全に上杉だよなぁ。
気にしない振りをしてるけど、取材をした振りをして捏造したのを江川に暴かれたの相当根に持ってるね。
器ちっさすぎ。


968 :名無しさん@そうだ選挙にいこう:2012/09/21(金) 20:36:35.56
誤爆

969 :名無しさん@そうだ選挙にいこう:2012/09/21(金) 20:41:01.92
テーブルレコードの自動生成は忘れ、改めて「カレンダーテーブル」として調べたところ
http://www.tsware.jp/tips/tips_401.htm
のように永続かテンポラリかはともかくテーブルとして行う例が多いようで、
こちらのほうがクエリからそのままコントロールに流し込めるので楽ですね。

一方、
http://oshiete.goo.ne.jp/qa/2343403.html
によると「表示側でなんとかすべし」という回答が有力で、
この場合はDB側の負荷は減りますが、表示側でForループ内で
日付マッチングをする処理を書く必要があります。

とりあえずは前者のテーブル作成の方で考えます。

970 :名無しさん@そうだ選挙にいこう:2012/09/21(金) 21:56:27.82
そおかあ、スケジュールてから、てっきり三交代の勤務シフトとかの方面かなあ なんて
それだと繋げるログってまばらじゃないのか? 毎日みっちり詰まってるん?
カレンダーコントロールに繋げた方が楽なんじゃ?

971 :名無しさん@そうだ選挙にいこう:2012/09/21(金) 22:41:19.29
>970
ページ分割すればもうすこし小規模でしょうが、
全日数をシームレスで扱いたいので…。

ところでちょっと面白いやりかたしてる方がいました。
31レコードのテーブルひとつでいろんなカレンダーを作る。
http://j.mp/PPrHV5

あと>>965さん紹介のPostgresqlでのgenerate_series関数についても
調べ、なかなか便利そうだとは思いましたが、調べるうち

>レイアウトや見せ方に関する処理は,本当はDBが行なうべきではない。
という意見を見かけ、反省する次第です……。

972 :名無しさん@そうだ選挙にいこう:2012/09/23(日) 09:40:17.76

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




973 :名無しさん@そうだ選挙にいこう:2012/09/23(日) 09:41:01.61

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 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

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



974 :名無しさん@そうだ選挙にいこう:2012/09/23(日) 09:41:51.27

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



975 :名無しさん@そうだ選挙にいこう:2012/09/23(日) 10:07:55.85
さんきゅー

976 :名無しさん@そうだ選挙にいこう:2012/09/26(水) 22:11:47.05
教えてください。
以下のように、都道府県が変わったら、
b1から振りなおしたいのですが、
クエリのDcountで出来ないでしょうか?
都道府県,
北海道, 1
北海道, 2
北海道, 3
青森, 1
青森, 2
秋田, 1


977 :名無しさん@そうだ選挙にいこう:2012/09/26(水) 23:19:23.33
>>976
番号: DCount("ID","T1","ID <= " & [ID] & " AND 都道府県 = '" & [都道府県] & "'")



978 :名無しさん@そうだ選挙にいこう:2012/09/26(水) 23:52:42.94
>>977
ありがとうございます。
うまく出来ました。

979 :名無しさん@そうだ選挙にいこう:2012/09/27(木) 00:22:29.82
Access初心者です .
現在、ある地区の人口増減表を作成しています。
そのデータを格納するためにAccessを使用しています。
1回のデータを入れるたびに〈男or女〉〈転入or転出〉で元々設定された数値から(男性人口数)(女性人口数)(総人口数)
が自動的ににカウントアップする(データシートビューに)ロジックを作成したいと思っています。
現在、「データシートビュー」「デザインシートビュー」まで作成したのですが、これからどのように手を加えていけばいいでしょうか?
クエリで演算フィールドなどを作成するのでしょうか。
Access自体が全くの初心者なので、できるだけ詳しく書いていただけると助かります。
よろしくお願いします。


980 :名無しさん@そうだ選挙にいこう:2012/09/27(木) 00:26:00.48
Access Clubで聞けや、と思ったら、Access club 終了だしw



981 :名無しさん@そうだ選挙にいこう:2012/09/27(木) 00:30:30.07
じゃ、桐にしとけ

982 :名無しさん@そうだ選挙にいこう:2012/09/27(木) 12:01:18.19
>>980
え?Access clubの膨大なアーカイブは全部廃棄?それでレンサバ屋になりますって?なんつー無責任な・・・・・・・・

983 :名無しさん@そうだ選挙にいこう:2012/09/27(木) 16:23:08.14
すみません。アクセスの正規形をわかりやすく説明していただけませんか?テキストを読んでもなかなか理解できません。よろしくお願いします。

984 :名無しさん@そうだ選挙にいこう:2012/09/27(木) 17:24:46.90
テキスト読んで解らなければ、掲示板のやり取りではもっと解らない

985 :名無しさん@そうだ選挙にいこう:2012/09/27(木) 17:25:40.48
そんでもって、どれのどの部分が解らないか具体的に質問しないと始まらない

986 :名無しさん@そうだ選挙にいこう:2012/09/27(木) 19:07:53.53
正規化するということは、ステップ数(コードの行数)を減らすこととイコールなのだと分かる
正規化しすぎると分かりにくくなる(保守性が悪くなる)こととイコールなのだと言う事にたどり着く
そして自由にプログラミングすればいいという境地なう

987 :名無しさん@そうだ選挙にいこう:2012/09/27(木) 19:41:32.32
ACCESSでRPG作りたいんですけど

988 :名無しさん@そうだ選挙にいこう:2012/09/27(木) 20:59:58.82
【 システム環境  】 WindowsVista, Access2007
【 VBAが使えるか 】 はい
【 VBAでの回答  】 可
【 検索キーワード 】 セキュリティの警告、信頼できる場所、mde、accde

Accessファイルの起動時に出る「セキュリティの警告」を回避することに関しての質問です。

Accessでは起動時に「セキュリティの警告」が出ますが、起動場所を「信頼できる場所」として登録すれば回避できるので、
「起動時の設定」(http://d.hatena.ne.jp/ogohnohito/20080322/p1)に
「信頼できる場所の設定方法」を記したフォームを開くように設定しています。

そのフォームのモジュールには、すぐログイン用のフォームに遷移するコードを仕掛けておき、
ユーザが「信頼できる場所」を設定した後は、説明用フォームで止まらずにログイン用フォームに遷移する、という仕掛けです。

ちなみに、説明用フォームには、「リボンの無効化」「ナビゲーションウインドウの非表示」のコードを作っているので
正常にログイン画面までいけばユーザは内部のテーブル等にアクセスできないようにしております。

開発用のAccdbファイルでは、「セキュリティの警告」(メッセージバー)が表示とともに説明用フォームが表示され問題なし。

しかし、ユーザ配布用のAccdeに変換すると、説明用フォームが開く前に「セキュリティの警告」(ダイアログボックス)が表示され、
そこでユーザがファイルを開くことに同意をすれば、コードが実行されてログイン画面に到達するという流れになってしまっています。

説明用のフォームが表示されず、且つコード実行環境下になるとリボンを無効化するため、
ユーザが「信頼できる場所」を設定することができない状態となってしまっています。

起動時にワンクリックすればログイン画面が表示されるので、致命的な問題ではないのですが
ユーザ配布用Accdeでも、ユーザに「信頼できる場所」の設定を行わせるための方策として
良い手はないものでしょうか?

よろしくお願いします。

989 :名無しさん@そうだ選挙にいこう:2012/09/27(木) 23:42:25.68
http://macoto.blog.so-net.ne.jp/2009-03-21

990 :988:2012/09/28(金) 00:48:18.98
>>989
レジストリを書き換えるしかないのですね。
さすがにリスクが高いので断念します

ありがとうございました!!

991 :名無しさん@そうだ選挙にいこう:2012/09/28(金) 18:51:45.69


992 :名無しさん@そうだ選挙にいこう:2012/09/28(金) 21:55:13.45
>>990
ユーザー側がRuntimeなのかどうかが書かれていないが、そう簡単に諦めないで
http://www.ilovex.co.jp/blog/system/softwaredevelopment/access-2007-runtime-1.html
は該当しないだろうか検討してみたら  ひとつの意見だけで判断してちゃもったいない

993 :名無しさん@そうだ選挙にいこう:2012/09/29(土) 04:08:50.83


994 :988:2012/09/29(土) 13:57:49.64
>>992
情報ありがとうございます。
要は「ユーザがAccdeファイルを置く場所が固定であれば、
配布前にその場所を信頼できる場所に指定しておくことで回避可能」
ということですね。

自分のはランタイムではなく、ユーザそれぞれの使用PCにOffice2007がインストールされているので
たぶん問題なくこの回避法は使えそうです。

特定の場所にユーザに置かせるようにするのはなかなか難しいので
VBAで「メイン画面で最新版ダウンロードボタンを押す」→
「フォルダを自動生成(存在チェック必須)」→
「accdeファイルをサーバからユーザ環境に転送」→
「デスクトップにショートカットを配置(これは自分の技量ではすぐにはできないかもしれないが、なくても何とかなるような)」
こんな感じでの回避をやってみます。

ありがとうござました!!

995 :名無しさん@そうだ選挙にいこう:2012/09/29(土) 15:29:06.36
結局レジストリ書き込むことにw

996 :名無しさん@そうだ選挙にいこう:2012/09/29(土) 22:26:42.09
うめ

997 :名無しさん@そうだ選挙にいこう:2012/09/30(日) 01:23:55.97


998 :名無しさん@そうだ選挙にいこう:2012/09/30(日) 03:56:22.17
落ちる前に

999 :名無しさん@そうだ選挙にいこう:2012/09/30(日) 05:45:45.92
ウメ

1000 :名無しさん@そうだ選挙にいこう:2012/09/30(日) 13:11:13.54
AccessClub永遠に・・・

1001 :1001:Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。

297 KB
★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)