【I love Access】やっぱりアクセスが良いat DB
【I love Access】やっぱりアクセスが良い - 暇つぶし2ch714:NAME IS NULL
08/06/14 08:40:48
グローバル変数って何よ w
Public のこと?

715:NAME IS NULL
08/06/14 09:06:45
モジュールレベルのPublicをグローバルって言ってるんでないの

716:NAME IS NULL
08/06/14 09:36:32
失礼どうやらPublicとGlobalとを混同していたらしい。似て非なるものだった。
グローバル変数とは全プロシージャから参照できる変数のこと。
Global GB_System As String
ってな具合に使っているけどまずいのかな?使っているのはAcceess2000なんで廃止されたならゴメン。
あまり使わないほうが良いと言われる手法だけどこれを避けようとすると返って面倒なことになるので
必要最小限頭に"GB_"というのをつけて一目でグローバル変数だとわかるようにして使っている。
もっと複雑なプログラムなら問題があるのだろうけど、現在特に問題は感じてないんだけどなあ?


717:NAME IS NULL
08/06/14 10:02:37
VBAのPublicとGlobalは全く同じですが

718:NAME IS NULL
08/06/14 10:17:43
あっ、そうなんだ?
Globalはpublicの古い書き方なんだ。
なんせAccessは最初のバージョンから使っているから気がつかないでずっとGlobalを使っていた。
でもいままでGlobal変数が消えて困ったなんて経験は無いけどなあ?運がいいだけ?
まあ、勉強になった。ありがとう。


719:NAME IS NULL
08/06/14 10:18:21
>>715
モジュールレベルのPublicって何よ w

720:NAME IS NULL
08/06/14 10:20:34
Access2007開発者用ヘルプ "スコープ"

適用範囲 (スコープ)
プログラム内で、変数、プロシージャ、オブジェクトが有効である範囲。適用範囲は"変数、プロシージャ、オブジェクトが宣言された方法や場所によって決まります。
たとえば、変数が Public ステートメントで宣言されていて、モジュールに Option Private Module が記述されていないとき、すべてのモジュールのすべてのプロシージャがその変数の適用範囲となり、
その変数はそれらのプロシージャから参照できます。Option Private Module が有効な場合は、モジュール自体がプライベートとして宣言されているので、参照元のプロジェクトからは参照できません。
プロシージャの中で宣言された変数は、そのプロシージャの実行中だけ有効で、キーワード Static により静的変数として宣言されていない限り、プロシージャの実行が、終了すると値は破棄されます。


721:NAME IS NULL
08/06/14 10:23:37
>>719
言葉じり

722:NAME IS NULL
08/06/14 10:24:52
実際にPublicが破棄されるような状況でStaticが破棄されないってあるのか?

723:NAME IS NULL
08/06/14 10:35:40
Publicはメモリ確保が終了してるから、タマタマ残ってるって事、他が邪魔したら無くなる
Staticはメモリが確保されてる

724:NAME IS NULL
08/06/14 10:41:09
>他が邪魔したら無くなる
他とは?


725:NAME IS NULL
08/06/14 11:01:17
>>723
Publicが消えてStaticが残る状況を再現する手順を教えてください

726:NAME IS NULL
08/06/14 11:02:35
他のモジュールが偶然同じメモリ領域使っちゃったら無くなるんじゃね?

727:NAME IS NULL
08/06/14 11:06:09
>>726
いや、他のプロシージャでも偶然同じメモリ領域使っちゃったら無くなる

728:NAME IS NULL
08/06/14 11:06:52
するとPublic変数というのは運が良ければ使える変数ってこと?
さすがMS。すごい仕様だなあ?


729:NAME IS NULL
08/06/14 11:08:09
>>725
VBにはポインタの概念ないから偶然

730:NAME IS NULL
08/06/14 11:09:32
>>728
スコープの参照範囲から参照できるってこと
スコープの時間的範囲が終了すれば、確保されない

731:NAME IS NULL
08/06/14 11:09:41
モジュールがメモリからいなくなるときかな、削除したときとか?

732:NAME IS NULL
08/06/14 11:32:59
>>730
モジュールに Option Private Module が記述されていないときは
public変数は全プロシージャから使えるってことでいいんだよね?
ずっとそう思って使ってきたんだけどなんか不安になってきた。



733:NAME IS NULL
08/06/14 11:34:16
メモリ領域が使われたらどうのこうのって、
それなら値は初期化されずに不定になるって事にならないか?
そんな動作はしないだろ。

734:NAME IS NULL
08/06/14 11:42:18
>>733
Staticは定位置にメモリが確保されてる
Publicはメモリ確保が終了してるから、他が邪魔したら、動的に別位置に設定しなおして値が無くなるんでは?

735:NAME IS NULL
08/06/14 11:57:25
>>734
他の邪魔は許すが、他が邪魔したかどうかの監視(または判定)はしてるって事か?
えー

736:NAME IS NULL
08/06/14 12:52:52
まあ、監視つーか、アドレスが他で埋まっちゃってたら、別に確保するしかじゃね

737:NAME IS NULL
08/06/14 12:58:15
埋まったかどうかどうやって判断すんのさ

738:NAME IS NULL
08/06/14 13:02:53
そこらへんはVB内部ってことで
判断できなければ、他のモジュールが確保して実行中(確保され続ける)の変数も守れないだろ

739:NAME IS NULL
08/06/14 13:10:17
Static(静的)変数にくらべて、動的変数は一々解放しなくても、実行終わったら中身カラ(他でその領域使える)になるから便利ってことでないの?

740:NAME IS NULL
08/06/14 13:20:14
>>734 >>738
Public変数ですー
他から要求があったら今使ってる領域は譲るよー、
でも代わりに別の領域を確保して初期化するよー

ってことですか、わかりません><

741:NAME IS NULL
08/06/14 13:46:52 Sa3ZCVod
動的変数だからモジュールで使うたびにメモリ確保するんだろ
他で使ってたら別の場所にって事で

742:NAME IS NULL
08/06/14 14:10:32 Q6ctkHOb
富山DQN男の家族消えろ 富山DQN男の親消えろ 富山DQN男の子供消えろ 富山DQN男の親戚消えろ
富山DQN男の家族消えろ 富山DQN男の親消えろ 富山DQN男の子供消えろ 富山DQN男の親戚消えろ
富山DQN男の家族消えろ 富山DQN男の親消えろ 富山DQN男の子供消えろ 富山DQN男の親戚消えろ
富山DQN男の家族消えろ 富山DQN男の親消えろ 富山DQN男の子供消えろ 富山DQN男の親戚消えろ
ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・)
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
死ぬとき このレスの事思い出してから地獄へ行けよ
ニヤ(・∀・)ニヤ(・∀・)


743:NAME IS NULL
08/06/14 14:48:26 hwIMB6Ac
うん、プロシージャで呼び出すたびにメモリ確保するのが正解っぽい。
だから =nothing とかしなくても良い。

744:NAME IS NULL
08/06/14 16:04:50
ソースはお前らの脳内

745:NAME IS NULL
08/06/14 16:32:02 hwIMB6Ac
呼ぶたびにメモリ確保するのはローカル変数

746:NAME IS NULL
08/06/14 16:42:40
もう面倒くさいの嫌だから桐にしとくよ。

747:NAME IS NULL
08/06/14 16:44:36
Publicが飛んだらStaticも飛ぶ。一緒。
トラップなしで実行時エラー起こしてみればすぐに
分かるようなことは、先に試せよ。
脳内妄想垂れ流してるのを見てると気の毒になるから。

748:NAME IS NULL
08/06/14 16:54:11
>>747
(田中 亨=テクニカルライター)
URLリンク(pc.nikkeibp.co.jp)
> しかし、モジュールレベル変数とパブリック変数は、静的変数のようにいつまでも値を保持するわけではありません。
> ユーザーの予期しないタイミングで値がクリアされることもあるのです。

749:NAME IS NULL
08/06/14 16:57:08 hwIMB6Ac
そりゃあ実行時エラーすれば何でも起こりうる罠 wwww

750:NAME IS NULL
08/06/14 17:10:59
結局MDBに変数を保存しておくのが無難か?
面倒だし若干スピードに影響しそうだけどしゃあない。



751:NAME IS NULL
08/06/14 17:18:18
初期化されてたら取得ってことにすればいいんじゃない

752:NAME IS NULL
08/06/14 17:42:07
いや、その初期化される前の値が欲しいんだが・・・

753:NAME IS NULL
08/06/14 17:49:37
変数に変更があるたびにmdbを更新すればいいことなんじゃないのか?


754:NAME IS NULL
08/06/14 19:13:44 hwIMB6Ac
staticで良いじゃん
他で使うときには、渡す先の引数で変数を渡す

755:NAME IS NULL
08/06/14 19:23:04
>>753
テーブルに、って意味ならそう言ってくれ
それとも別の方法か?

756:NAME IS NULL
08/06/14 19:33:22
>>748
ファンか本人?
自分で試せばすぐに分かるような記事を検証せずに鵜呑みにすると痛い目にあうよ。

>>749
ここまでのやりとり何も読んでないか理解できなかったんだなw
それでもstaticなら大丈夫と言い張るバカが居るからここにつながるんであって。

あれはスコープと寿命を用途に照らして使い分ける類のものであって、
エラープルーフでもなんでもない。
static信者が自爆するのは信教の自由なので止めないけれど、
初心者を巻き添えにしないように。

757:NAME IS NULL
08/06/14 19:45:42 JuOgoyv1
いきなりの質問ですいませんが、クエリを一度だけ更新する方法を教えて下さい。

758:NAME IS NULL
08/06/14 21:03:16
>>755
すまんそういう意味だ。


759:NAME IS NULL
08/06/14 21:22:29
>>757
意味が良くわからないが同じ更新を2回しないようにするってことか?
テーブルに更新したかどうかのフラグを立ててすでに更新済みのデータは更新からはずすとか?
見当違いならスマン。


760:NAME IS NULL
08/06/14 22:23:07 JuOgoyv1
>>759
ありがとうございます。やってみますね。

761:NAME IS NULL
08/06/14 22:45:45 e60rf0FN
>>756
なんかトンチンカンなこと書いてるよ
> エラープルーフでもなんでもない。
public変数が初期化されるのはエラーでも何でもないでしょ
正規の動作中だよ

762:NAME IS NULL
08/06/14 23:36:24 JuOgoyv1
>>759
何度もすいません。
フラグの立て方がわかりません。
時刻を10分更新するクエリです。

763:NAME IS NULL
08/06/15 00:50:46
死亡フラグでも立てとけ

764:NAME IS NULL
08/06/15 00:55:40
おれ、Accessの次のバージョンが出たら即買いの予定なんすよ

765:NAME IS NULL
08/06/15 05:47:33
時刻を10分更新するクエリ?
ますますなんのことかわからん。
とりあえず、時刻を10分進めるクエリーってことにしておこう。
フラグというのは文字通り旗のこと。つまりしるしをつけておくだけのこと。
ある条件のときにテーブルのあるカラムの値を10分進めるとする。
しかし、一度進めた値はもう二度と進めてもらっては困る。
ならばテーブルに更新したかどうかを記録するカラムを追加し、
初期値としてfalseを入れておく。
そして初期値がfalseならば更新するというケエリーを実行して
その時にそのカラムをtrueに更新しておけばOK?
そんなことをしてなんの意味があるのかわからないけど、
まあ、低級エスパーとしてはこれが限界だ(w


766:NAME IS NULL
08/06/15 19:14:18
で、なに
プロシージャの実行が終わったら変数はリセット?
フォームオープン時のイベントで
MyPbTax=テーブルに保存しておいた消費税率
とか読み込ませて
フォームが開き終えたらもう消費税はリセット?
めでてーな

767:NAME IS NULL
08/06/15 19:27:45
>>766
しょうがねえだろ、VBA の仕様に基づく制限だ。
文句あるなら、VBで開発して Shared変数使いな。

768:NAME IS NULL
08/06/15 21:59:08
仕様じゃしようがねえ。お後がよろしいようで・・・・・(お囃子)・・・・・(w


769:NAME IS NULL
08/06/15 23:08:05 iGx6pZh1
>>767
真に、おっしゃる通りです、素直に桐にします

770:NAME IS NULL
08/06/16 10:50:44
次期バージョンではVBAとVBSが統合されるヨッカーン。
まあ、スクリプトでも使ってろってこった。

771:NAME IS NULL
08/06/16 13:55:15
いつかはくるであろう、VBA切り捨てのX-dayに怯える日々がはじまるのでつね

772:NAME IS NULL
08/06/16 20:14:17
べつにVBSだろうがVBAだろうが同じだろうが。

773:NAME IS NULL
08/06/16 20:43:25
同じなのか??

774:NAME IS NULL
08/06/16 21:23:03
文法は同じ。
細かいこと言えば結構違う。

775:NAME IS NULL
08/06/16 21:42:39
そりゃあ、MSのBASICだから文法同じだろw

776:NAME IS NULL
08/06/16 22:36:13
VBは死にましぇん!

777:NAME IS NULL
08/06/17 10:18:38
VBSがForm使えりゃ無敵ng

778:NAME IS NULL
08/06/17 23:44:09 wipoekOe
詳しい人がいたら教えてください。
クライアントの環境で、ExcelのモジュールからAccessモジュール呼び、
Accessの結果(レコードセット)を受けて、その結果をExcelのシートに
貼るとこまでは出来ました。

アクセスのmdbファイルの場所を例えば(URLリンク(www.hoge.com)
として、Excelのモジュールからこのmdbにアクセスして、結果を受け取る
ということは出来ますか?

HTTP経由だからそれなりの実装をしないと無理ですか?

779:NAME IS NULL
08/06/18 02:22:58
まるごとダウンロードするしかあんめえ。

つうかサバ側でなんかしろよ

780:NAME IS NULL
08/06/20 22:08:39
出来ますよ

781:NAME IS NULL
08/06/21 07:13:06
>>778
> Excelのモジュールからこのmdbにアクセスして、結果を受け取る

もうちょっと具体的にやりたい事書けよ。
これじゃ、mdb中のテーブルに対してクエリ投げた結果を取得したいのか、
shellでaccess実行してmdb開きたいのか分からんだろう。
shell関数だって戻り値はあるし、「結果を受け取る」ってことも
出来るんだから。


782:NAME IS NULL
08/06/21 12:25:27
> クライアントの環境で、ExcelのモジュールからAccessモジュール呼び、
> Accessの結果(レコードセット)を受けて、その結果をExcelのシートに
> 貼るとこまでは出来ました。

Excel VBAからAccess VBAのFunctionを呼べるの?どうやるの?

783:782
08/06/21 12:50:32
試しにやってみたらGetObjectしてApplication.Runで簡単に出来たー。
そうかー、レコードセット返すFunctionとか呼べるんだー。勉強になった。

784:782
08/06/21 12:57:47
で、まあ、そうするとAccessで該当mdbを開かない事にはどうしようもない訳で、
やっぱり都度サーバからダウンロードして開くとかじゃないかな?

785:NAME IS NULL
08/06/23 17:57:32
先月ネット通販の仕事を辞めて、
次の仕事探す前に何かひとつスキルを身につけたいんだけど
Accessって武器になりますか?
前の仕事で、エクセルで数百件くらいのデータを関数を組み合わせて一気に編集するとか、
よくやってたから、Access使えたらもっと早く処理出来そうだなーと気になってました。
簡単なFLASHゲームとか考えるのは好きで、
SE系の専門学校出身だから普通の人よりは飲み込み早いと思うんだけど、
習得にどのくらい時間がかかるのかしら?

786:NAME IS NULL
08/06/23 18:13:39
>>785
慣れとかコツつかむには時間掛かるだろうけど、
一通りのことなら本見ながら1週間で余裕じゃね?


787:NAME IS NULL
08/06/23 18:15:19
1週間で余裕なことがスキルになるのかと小一時間

788:NAME IS NULL
08/06/23 19:38:01
Accessなんて前任者が残していったスパゲッティ状態のVBAと正規化もまともに
できてないような糞データベースをお守りできないと話しにならんぞ。

789:NAME IS NULL
08/06/23 20:38:17
そんなの作り直しちゃえよ

790:NAME IS NULL
08/06/23 22:52:54
前任者が辞めたとか異動したとかの理由であちこちの部署から
ウンコDBなんとかしてくれ系の依頼が後を絶たないお・・・

791:NAME IS NULL
08/06/24 01:45:08
ウンコエクセルはよく見るけど
ウンコDBってどんななんだ?DB化する時点で必然的に整理される気がするんだけど。

792:NAME IS NULL
08/06/24 05:45:44
>>791
たまにものすごいテーブル設計するやつもいるし、
クライアントから「このEXCELのシートの内容をそのまま使え」と
強制されて非正規化のままで作らされることはあるよ。


793:NAME IS NULL
08/06/24 08:29:21
桐にしたら良いお!
正規化してなくても不自由ないお!

794:NAME IS NULL
08/06/24 09:47:59
>>793
巣に帰れ!どあほ


795:NAME IS NULL
08/06/24 20:35:09
SELECT FROM.FROM FROM [FROM] とか
そんなSQLばっかり読まされる仕事はもういやだお・・・

796:NAME IS NULL
08/06/24 21:20:18
クエリビルダばっかり使ってinner joinとleft joinの違いがわからないで
必要な項目が欠落してるのに気がつかないとか、まじ視ねといいたい。
アクセスの仕事はこんなのばっか!

797:NAME IS NULL
08/06/25 14:44:52
とゆーかクエリビルダって使いにくいと思う

798:NAME IS NULL
08/06/25 15:25:12
>>797
でも、あれしか使えない輩も居る訳で。

個人的には「SQLで書けよ」と思う訳だが、
そのSQLも勝手に書き換えられたりして
気持ち悪い挙動を示すのがACCESS。



799:NAME IS NULL
08/06/26 22:23:07 IHeiKRfY
Access2007です。(XP)

Accessで、エクセルのVLOOKUPみたいなことはできますか?

商品名と商品コードの2列からなるテーブルを用意しておき、

別のテーブルで商品名を入力すると、隣のセルに商品コードが自動的に
出るようにしたいのですが、可能ですか?

エクセルなら、VLOOKUPで簡単にできるんですけどね。。。

800:NAME IS NULL
08/06/26 22:42:41
>>799
ACCESS総合相談所 その18 【桐にしとけ】
スレリンク(bsoft板)

801:NAME IS NULL
08/06/27 03:26:00
>>799
URLリンク(www.t3.rim.or.jp)
それと入門書くらい読んでから質問してくれ。


802:NAME IS NULL
08/06/27 18:25:50 zsJ8ZJes
工場内ラインの生産数管理をしたいと思っています。
サブフォームに「不良数」「処理方法」をもつ日報フォームを作成しましたが、
不良数0の日の日報フォームのサブフォームに「不良数」0のレコードを作らないと、
月度内で不良が無かった場合、月度管理用クエリでは
不良数合計のフィールドに表示するものがないため、その他の集計も表示できません。
よろしければ解決方法を教えてください。
意外と単純な事かと思いますが、私の頭では思いつきません…


803:NAME IS NULL
08/06/27 18:33:44
市販のソフトあたってみたら?

804:NAME IS NULL
08/06/27 20:30:51
>>802
リレーションを見直してみ。

ヒント: LEFT JOIN

805:NAME IS NULL
08/06/27 20:48:07
>>802
>>796

806:802
08/06/29 13:56:08 +zev6smp
返事遅くなりまして申し訳ありません。
LEFT JOINと言うものを検索した結果
悩んでいたものの通りのものがいくつかありました。
多分、SQLとかわかる人からすれば当たり前のことなんですね…。
もっと勉強します。ありがとうございました。

807:NAME IS NULL
08/06/30 20:11:07
SQL文の書き方なんて追々おぼえればいいからさ
まずはクエリでのテーブルどうしのくっつけかた考えろよ
結合線にマウスカーソルあてて右クリック、で、いろいろとさ

808:802
08/06/30 21:46:00 tW/mOprp
取りあえず、SQL表示にしてLEFT JOINに書き換え、
Nullには0を返すようにIIfIsNullで完成しました。
ただ>>807さんの言うテーブル同士のくっつけ方がよくわかりませんorz
フィールドとフィールドの間の線ですよね?カーソルあてて右クリックしても
フィールド内で右クリックしたときと同じものしかでてきません。


809:NAME IS NULL
08/07/01 08:51:39
>>808
>Nullには0を返すようにIIfIsNullで完成しました。

つ nz


810:NAME IS NULL
08/07/01 12:19:45
あてるのは先端
ぞくっと震えがくるぐらいギリギリ微妙な、先端

811:NAME IS NULL
08/07/01 23:29:26
DBMSによってNVLとかISNULLとかIFNULLとかNZとかコーアレス(スペル忘れた)とか
使い分けなきゃいけない仕事はもういやだお・・・

812:NAME IS NULL
08/07/02 05:54:44
>>811
Accessではどうしようもないだろwww


813:NAME IS NULL
08/07/02 19:53:35
>>811
NULL禁止にすればいい!

814:802
08/07/03 22:26:16 exZxl670
>>809
nzですか。知らなかったです。
IIfとIsNullを組み合わせて使おうと思いつくの一苦労だったのでなんか切ないです。
結合線の意味はやっと気付きました。リレーションシップの線のことですね。
たしかにあれを変えたらSQL上でLEFT JOINになりました。
なにやら恥をどんどん晒しているようで恥ずかしい限りですorz


815:NAME IS NULL
08/07/04 09:23:05
>>814
そうやってどんどん覚えていけばいいんじゃなーい?
なんか自分の数年前を見てるようだw
私も初めてnz知った時は同じようにうれしいような切ないような気持ちになったしw

816:NAME IS NULL
08/07/09 11:18:47
coalesceでいいような


817:NAME IS NULL
08/07/12 19:37:38 dbIMVOlA
>>806
SQLは時間見て勉強した方がいいと思うぞ。
#DB使いは誰でも通る道だからね

818:NAME IS NULL
08/07/12 20:32:17
>>814
Nzは返り値がVariant型だからね。
出した結果を再利用する時のことを考えて使うべき。




819:NAME IS NULL
08/07/13 01:10:27
というかNzの第2引数を省略するやつはうんこ

820:NAME IS NULL
08/07/13 09:10:08
なぜNzと呼ぶのでしょうか?

821:NAME IS NULL
08/07/13 09:15:55
>>820
Nurupo zettaidame


822:NAME IS NULL
08/07/19 21:44:08 PehLay74
>>814
お前に感心するよ。
俺だったら絶対関数あるはず、ってググッたり人に聞いたり(こっちが多かったりする)して
知識を分けてもらうことに努力しちゃうね。

お前はすばらしい努力家だよ。

でも会社は評価してくれないけどねww

823:NAME IS NULL
08/07/19 22:33:58
すごいカメだな
なんかイヤな事でもあったのか

824:NAME IS NULL
08/07/20 01:31:07
文脈からして、会社に評価してもらえなかったんだろう。
聞いてばかりじゃ、それも仕方がないな。

825:NAME IS NULL
08/07/20 06:45:34
なるほど
性格も悪そうだし、仕方がないね。


826:NAME IS NULL
08/07/20 14:58:58
自分で調べて得た知識とその取得方法は自分に帰ってくるからいいんじゃね?

827:NAME IS NULL
08/07/23 17:00:26 d9fcTHfR
Access2007+SQLサーバー2005 Express Edtionの評価を行っています。
(リンクテーブルではなく、プロジェクトを利用)
色々な壁にぶつかりつつ、少しずつ前進しているのですが、全般的に
情報が足りなくて困っております。
オススメのサイトか書籍をご存知でしたら、教えていただけませんか?

以下のサイトは、すごく参考になったのですが、これだけだと不十分
で色々探しております。

URLリンク(www.microsoft.com)
URLリンク(www.atmarkit.co.jp)

828:NAME IS NULL
08/07/25 14:41:42 5EfeWVVD
>>827への自己レスです。
以下のサイトがなかなか参考になりました。
他にもなんかよいものがありましたら、教えて下さい。
URLリンク(www.accessclub.net)
URLリンク(www.shoeisha.com)
URLリンク(www.microsoft.com)
URLリンク(support.microsoft.com)

MSのサイトって、結構充実しているのに、何ゆえ、外部の検索エンジンを
使わないと、必要な情報にたどり着けないんだろう。。。orz

829:NAME IS NULL
08/07/25 15:42:28
確かに慣れは必要だね~

830:NAME IS NULL
08/07/25 17:50:16 IT6y9+c8
>>827
ちょっと古い?それに定番だから見てるかもしれないけど

URLリンク(www.sqlpassj.org)
URLリンク(www.horikawa.ne.jp)

下のほうはAccessはあまり使ってないかも


831:NAME IS NULL
08/08/01 12:17:33
お聞きしたいことがあるのですが
アクセス2002で日付型のデータを入力しています。
現状07/08/01の様に入力しないといけないわけですが
070801で認識させるような方法っていうのは有りますか?
0801と入力したら今年の西暦+0801になるようにカスタマイズできれば尚よしなんですが。

832:NAME IS NULL
08/08/01 13:36:36
>>831
定型入力のプロパティに「00/00/00」と指定してください。
URLリンク(www.tsware.jp)
URLリンク(www.officepro.jp)

年数を常に省略する場合は「00/00」とすれば良いです。但しこの場合、今年以外の年は入力できません。
年数省略あり・なし両方を扱いたい場合は、VBAを使ってプログラムを組む必要があります。

833:NAME IS NULL
08/08/01 14:01:54
>>832
プログラム組むしかないんですね
有り難う御座います
デフォルトのままで行くことにします。

834:NAME IS NULL
08/08/01 14:25:58
桐にしとけば最初から実現してるよ

835:NAME IS NULL
08/08/01 15:00:30
お前はPC-98でもさわってろ

836:NAME IS NULL
08/08/01 16:24:30
桐はDOS/Vでも動く

837:NAME IS NULL
08/08/01 16:30:06
WindowsVISTAでも動く

最初から
0801→2008/08/01
08/01→2008/08/01
09/08/01→2009/08/01

838:NAME IS NULL
08/08/04 11:16:08
いまだに桐がどうのこうの言っているヴァカがいるのか。
巣に戻れよ。

839:NAME IS NULL
08/08/04 21:01:39
>>838
> いまだに桐がどうのこうの言っているヴァカがいるのか。
> 巣に戻れよ。
その巣が寂れて閑散としているんだよ。察してやれよ。
スレリンク(db板)


840:NAME IS NULL
08/08/05 18:42:30
桐の人はネタとして薦めてるのかと思っていたが、もしかしてホンキなの?

841:NAME IS NULL
08/08/05 18:56:18
>>840
かなり本気だと思われ。
極端に言えば神と崇めるレベルまで桐に心酔している。


842:NAME IS NULL
08/08/05 23:37:07
う~ん、どっちかっていうと桐の方が高級なんだけどな、高価だし。

843:NAME IS NULL
08/08/05 23:44:04
つか、桐桐いうやつの言い分がようわからん。
accessより安くて機能が充実しているのならわかるのだが、
高くて機能充実しているのは普通だと思うのだが。

844:NAME IS NULL
08/08/06 01:34:22
もともとはなんていう名前のソフトなの? > 桐

845:NAME IS NULL
08/08/06 06:10:20
>>844
昔から桐だよ。

846:NAME IS NULL
08/08/06 09:10:20
俺は桐も好きなんだが良くも悪くも閉じた環境の世界であって、拡張性についてはあまり考えられてない。
例えば、どちらも何十人もの同時使用ということについては考えられてないが、
AccessならMySQLなどを使ってクライアントサーバーにすることで対応できる。
桐でもまったくできないというわけでもないのだが、かなり無理があるようだ。
だから桐が悪いというわけではなく、閉じた環境の世界の中で使う分にはAccessより簡単で楽。
ちょっとしたアプリケーションなど簡単に出来てしまう。そういう場合はためらわずに桐を使う。
しかし、その後の発展が考えられる場合はAccessを使う場合がある。
結局どっちが良いかという問題では無く、ケースバイケースの話。
具体的に言うと、桐の使用者には教育者が多いのだけど、成績の処理だの経費の集計だのにはちょうどいい。
しかし、販売管理だの財務会計だのに桐を使うのはちょっとどうかと思う。



847:NAME IS NULL
08/08/06 12:57:04
販売管理とか財務会計とかこそ、桐の独壇場だろ
もともと経理処理なんてものはデータベース的じゃないんだけどな

桐は論理行番号があるから普通に累計計算できるけど、AccessだとADO/DAO介して無理やり(?)VBで組まないと累計すら出せない
経理処理みたいな定型業務に必要な機能は桐では全て最初から用意されてるから、簡単安全正確
当スレでのAccessの質問も、殆どは桐なら最初から機能が用意されてる
Accessだと一々ADO/DAO介してVBで組むから、煩雑だしバグも増える

非定形想定外の処理は桐でもマクロ組むけど、桐の一括処理は言語仕様が古臭い、VBよりも遅い
桐のODBC接続は常用は厳しいね、データのインポートやエクスポートに使って、運用は桐単独

848:NAME IS NULL
08/08/06 14:22:25
桐とAccessは競合するようなものではないと思う。
桐のサイトに行くとわかるのだが、桐が狙っている市場ってExcelでは飽き足らなくなった人だよ。
それならまさに適材だと思う。
Accessを使いこなしている人が桐に移行するとはとても思えない。

849:NAME IS NULL
08/08/06 16:04:56
まあ、Accessはパーソナルデータベースだから、

850:NAME IS NULL
08/08/06 21:39:49
何か言っていそうで何も言っていない
>849 の才能に嫉妬

851:NAME IS NULL
08/08/06 21:53:57
昔、DOS桐の仕事したなあ。
確かに印刷と累計は普通に出来たな。
日本語が違和感あったけど。

その後はAccess97に行っちゃったから、
Windows版の桐はよく知らん。


852:NAME IS NULL
08/08/07 00:06:23
累計つーか残高な。 経理に使うなら残高くらい出せないとダメだろ。 出納長も作れん。

853:NAME IS NULL
08/08/07 01:47:56
桐の独壇場っていうか、経理ソフトとか会計パッケージのバックエンドは
大概SQLServerのExpress版なんだが・・・


854:NAME IS NULL
08/08/07 02:31:15
>>852
Accessでも出せるよぅ。重くなるけど。
Accessの方がいろいろ機動力がある気がしたわ。
DOS桐よりは。

855:NAME IS NULL
08/08/07 17:56:16
累計?
URLリンク(www.systeminfinity.co.jp)
これじゃだめなのか?


856:NAME IS NULL
08/08/07 18:05:12 Xsy4Y32A
>>855
んなぁ、計算量が指数関数的に増大してレコード増えると途端に限界

857:NAME IS NULL
08/08/07 21:01:22
出納長のような累計を出したいのならレポートに変数を設定して一行ごとに数値を足しながら
印刷すればいいことではないか?
普通であれば累計データをデータベースに持っていなければいけないことなんてないと思うけどなあ?


858:NAME IS NULL
08/08/07 22:01:32
まあ、そうなんだけど。
経理の現場では、出納帳見ながら**月**日現在の残高を銀行に預け入れ手配して出納帳記入とか、入力しながら**月**日現在の残高見てA社に支払い指示して入力とか、日常茶飯事。
出納帳に入力中に、残高が先月と比べて変だから入力漏れに気付いたり。
データベース的じゃないんだけど。

859:NAME IS NULL
08/08/07 22:11:44
そう、857の方法だと、プレビュー見るってことになる。

出納帳はExcelでどう?

860:NAME IS NULL
08/08/07 23:24:06
データベース的じゃない処理だって判ってるなら
データベースじゃないエクセルとか桐とか使ってればいいんじゃね?

861:NAME IS NULL
08/08/08 00:24:17
残高のプレビューも一々超時間掛るんだなこれが、数字コピペ出来ないしな。
AccessよりExcelとか桐とかが良いよな。

862:NAME IS NULL
08/08/08 00:41:33
ちょっち違うど
アクセスでもVBAで組んで累計書き込めるから、桐では最初からコマンドに用意されてるだけ
桐では定型処理・想定される処理が予めコマンドに用意されてる、アクセスでもVBAで組めば出来る
四捨五入とか年齢計算とか順位とか併合処理とか補集合とか、VBAで組むと死にそうになる

863:NAME IS NULL
08/08/08 01:43:39
>四捨五入とか年齢計算とか順位とか併合処理とか補集合とか、VBAで組むと死にそうになる

もうちょっとがんばりましょう。

864:NAME IS NULL
08/08/08 08:44:09
>>863
ねえ君ぃ、ちなみに、そのなかで一番簡単そうな四捨五入、の関数作って書いてみて、
 Function_四捨五入([テーブル・クエリ名],[フィールド名],[四捨五入する小数点桁])


865:NAME IS NULL
08/08/08 08:55:50
863じゃないが、[テーブル・クエリ名]って必要なのか?
Function_四捨五入([対象],[四捨五入する小数点桁])
だけでいいような気がする。

866:NAME IS NULL
08/08/08 09:05:18
もちろん、[対象]がマイナス値も正しく機能しないとな
それと[四捨五入する小数点桁]にマイナス値を指定したら、-2指定とかだと少数点以上桁、10の位で四捨五入

867:NAME IS NULL
08/08/08 11:10:03
「Access 四捨五入」のキーワードでググったらいちいち検証するのが面倒くさいくらい出てくるけどなあ?



868:NAME IS NULL
08/08/08 11:40:59
んなことは、ここで回答とか雑談するやつには解り切ったことだろう。
MSのサイトにだってあるんだし。
それを自力で作ることで、応用力とかが養われるんじゃね?
Mid関数だって、leftとRightを使えば作れたはずだし。
まぁ、基本はパクって使用しているわけだがw

869:NAME IS NULL
08/08/08 12:15:18
つまり作らなくても最初から#四捨五入とかがある桐を使っているやつは
応用力のかけらもない○○だと言いたい訳だね(w
パクるのも応用力のひとつだと思うけどね。
一応本当にちゃんと動くかの検証も必要だし、バカでもできるってわけじゃない。
いいじゃん、ちゃんと動けば。



870:NAME IS NULL
08/08/08 12:29:32
マイナス値の四捨五入はJIS基準の、
つまり -1.2345 の 小数点以下3桁の結果が、-1.235 でOK?

Function cRound(ByVal tempValue As Double, tempKeta As Long) As Double
'四捨五入する
Dim tempKekka As Double '移動桁結果

tempKekka = Int(tempValue * 10 ^ tempKeta + 0.5)
cRound = tempKekka / 10 ^ tempKeta

End Function

これでいいんじゃないか?
違う場合は教えてクレクレ。

871:NAME IS NULL
08/08/08 12:40:21
基本はパクリ
MSのサイトにある四捨五入は対象がマイナス値だと四捨五入でなく四入五捨になる件(笑)
ダメだろ

872:NAME IS NULL
08/08/08 13:29:42
>>871

そうなのか?
生憎四捨五入をあまり必要としない業種なものなので知らんかったわ。
必要になったとしても、都度870のようなコードを書き込んでいた。
BASIC使ったことのある人なら、違和感ないんだろうな。

>>869

そこまでは言わないけど、原理(と基本的関数の相関関係)がわからないと応用はできないはず。
逆に必要とする関数がなかった場合、桐のライトユーザーは困るんじゃないのかな。

873:NAME IS NULL
08/08/08 14:24:26
ネタがない時は桐の話題で遊ぶのも良いな

874:NAME IS NULL
08/08/08 15:20:15
Excelよりもうちょっと進んだことをやりたいって場合には桐はピッタリだ。
Excelはだいたいわかったから次はAccessをマスターしたいというユーザーが多いのだけど、だいたいが挫折する。
そういう人にはむしろ桐を薦めたい。
Accessは本格的データベース開発システムのサブセットという面がある。
手っ取り早い道具としては桐は素晴らしい。桐で満足している人にAccessを薦めてもしょうがない。
でも現在のプログラムの本流とはかけ離れている。
Accessは簡易ながらも本流から離れていない。
本格的データベース開発システムを指向しながらももっと簡易にシステムを作りたいという場合には最適だと思う。
ということでわざわざ桐の利点なんざ教えてもらわなくても結構なんだよね。


875:NAME IS NULL
08/08/08 17:59:05
>>871
はい、VB6の本の最初に出てくるアルゴリズムだよね。

対象がマイナス値の時に、求める値が「負の無限大へ」か、「値が大きくなる方へ」か。

Function MaxcRound(ByVal tempValue As Double, tempKeta As Long) As Double
'四捨五入する ・・値が大きくなる方へ
Dim tempKekka As Double '移動桁結果

tempKekka = Int(tempValue * 10 ^ tempKeta + 0.5)
MaxcRound = tempKekka / 10 ^ tempKeta

End Function

Function AbscRound(ByVal tempValue As Double, tempKeta As Long) As Double
'四捨五入する ・・負の無限大へ=Excel的 ,JIS Z 8401、規則B
Dim tempKekka As Double '移動桁結果

tempKekka = Int(Abs(tempValue * 10 ^ tempKeta) + 0.5) * Sgn(tempValue)
AbscRound = tempKekka / 10 ^ tempKeta

End Function

AccessのRound関数≠ExcelのRound関数

AccessのRound関数: 最近接偶数への丸め=銀行丸め
JIS Z 8401、規則A

876:NAME IS NULL
08/08/08 18:03:24
つか、±の符号保持して、
絶対値で四捨五入すれば良いだけの話だろ?


877:NAME IS NULL
08/08/08 18:15:54
>>876
んと、875 のを使うとして

対象値        -0.5     -1.5     -2..5

Round関数       0      -2      -2
MaxcRound      0    -1      -2
AbscRound      -1 -2      -3

ずれたかも。

878:NAME IS NULL
08/08/08 18:17:22
ずれた....orz

対象値        -0.5     -1.5     -2..5

Round関数       0      -2      -2
MaxcRound      0    -1      -2
AbscRound      -1 -2      -3

どだ

879:NAME IS NULL
08/08/08 18:19:14
適宜脳内修正おながいします。ゴメン。

880:NAME IS NULL
08/08/08 19:10:10
まあ、Accessはパーソナルデータベースだから、

881:NAME IS NULL
08/08/08 20:01:05
あちゃあ >>850 は皮肉で言ったのに誉められたと思ってまた言っている。


882:NAME IS NULL
08/08/08 22:17:18
>>876
んだ。別に難しいことを考えることはないだろ?



883:NAME IS NULL
08/08/08 22:27:53 FFfuPyeo
じゃ、次はAccessで出納帳作る方法を皆で考えまひょ
>>860 みたいな give up はナシで

884:NAME IS NULL
08/08/08 22:33:26
>>883
フーーン、なんか883が出納帳をつくる仕事を請け負っていて只でやらせられるような気もしないではないが、
まあ、いいか?
とりあえず一ヶ月単位でいいんだよな?まず一月ごとの残高と貸方借方のテーブルが必要なのかな?


885:NAME IS NULL
08/08/08 22:45:13
貸方借方のテーブルなんてイラネー
IDと年月日と相手先と入金額と出金額と残高あれば出納帳だーーーーーー
入出金は毎日数十件だけで許してやろう
リアルで任意時点での残高見ながら入力できれば実務に十分有用だ
出納帳も出来なけりゃ日本の中小企業財務会計に使えねー
諦めてEXCELでやれってか?
そりゃそうよ

886:NAME IS NULL
08/08/08 22:49:34
要するに小学生の小遣い帳だな。

887:NAME IS NULL
08/08/09 00:46:35
小遣い帳レベルならエクセルで十分、そうでないならSQLServer使っとけでFAでしょ。
実際弥生会計とか勘定奉行とかPCA会計とかそれなりに名が通ってる会計ソフトは
みんなバックエンドがSQLServerなんだし、なんでAccessの出納帳にこだわるのか
全然ワケわからんわ・・・

888:NAME IS NULL
08/08/09 04:07:10
もう、OOo Baseでいいよ。

889:NAME IS NULL
08/08/09 07:28:49
BASEね。少しは使い物になるようになったのかな?
評価以前にまともに動かなかったけど。
>リアルで任意時点での残高見ながら入力できれば
Excelのように入力したいのね。やっぱりExcelでやれば?
Accessでやろうとするとえらく面倒なことになりそう。



890:NAME IS NULL
08/08/09 08:32:04
じゃ桐で決まりだな

891:NAME IS NULL
08/08/09 10:04:23
俺桐も好きだけど、こういう粘着気質の桐ユーザーは嫌いだ。


892:NAME IS NULL
08/08/09 10:57:14
桐が累計を簡単に取れるのはデータの中に計算式が入るという桐独特のシステムのおかげ。
Excelに似ていると言えば似てる。
ただデータと計算は分けるべきだというRDBの本来の思想に反する。
ちなみにRDBにはデータの追加という考え方はあっても挿入という考え方は無い。
これをしつこく桐ユーザーは突いてくるのだけど悪く言えば本流から外れているだけのこと。
累計も挿入もどうしてもということであればできるけど面倒くさい。
残高知るだけならSQlで選択してからデータ集計かけたほうが早い。
ちんたらちんたら一行づつ累計計算してもしょうがない。
挿入は見せかけの行番号を作ってそれで並び替えれば出来る。
でも面倒な割りにはたいした実益は無い。


893:NAME IS NULL
08/08/09 11:04:51
MySQL だと、SQL UPDATE に orderby 使えるから、累計でも連番でも一撃で出来ちゃう件
JET とか ACE でそれが使えれば、凄ぶる便利になるんだがなぁ
MySQL に移行しようかな

894:NAME IS NULL
08/08/09 11:12:10
どうぞどうぞ

895:NAME IS NULL
08/08/09 11:21:05
>>893
へーーー、MySQLでできるのか?オラクルではできるとは知っていたけど、それは知らなんだ。
おれも移行するかな?JETはいい加減いやになってきたし。


896:NAME IS NULL
08/08/09 11:37:54
直前レコード値に足していく関数作って、SQL UPDATE orderby

897:NAME IS NULL
08/08/09 13:36:21
まあ、Accessはパーソナルデータベースだから、

898:NAME IS NULL
08/08/09 13:54:06
>>896
ああ、なるほどって・・・・・・
直前レコード値を足していく関数?
直前レコード値をどうやって求めるんだ?
いや、求められないことはないだろうけど、ものすごく遅くなるような気がする。



899:NAME IS NULL
08/08/09 13:57:09
現在レコード値を足していく関数作って、SQL UPDATE orderby


900:NAME IS NULL
08/08/09 14:08:29
Function 累計(対象項目) As Currency
 累計金額 = 累計金額 + 対象項目
 累計 = 累計金額
End Function
---------------------
累計金額 = 0
SQL Update Q_現金出納帳 Set 残高 = 累計(入金 ? 出金) order by 年月日,ID

901:NAME IS NULL
08/08/09 14:11:07
ありゃりゃ、マイナスが化けた

× SQL Update Q_現金出納帳 Set 残高 = 累計(入金 ? 出金) order by 年月日,ID
○ SQL Update Q_現金出納帳 Set 残高 = 累計(入金 - 出金) order by 年月日,ID

902:NAME IS NULL
08/08/09 14:44:38
>>900
おおお、ありが㌧って…Accessじゃ使えねーのかorz

903:NAME IS NULL
08/08/09 17:15:41
Accessじゃ使えないのじゃなくて桐でも使えない。
900の妄想言語のなかでだけ使える。


904:NAME IS NULL
08/08/09 18:00:43
MySQL凄いな

905:NAME IS NULL
08/08/09 20:35:06
>>901
Q_現金出納帳クエリ内で ORDER BY しておけばおK。


906:NAME IS NULL
08/08/09 22:27:59
>>905
全然おKじゃない
MS はUpdateするレコード順を保証してない、DBエンジンが都度最適最速の順番を構成して更新する
Access97 までは密かにOKだったらしいけど、JETもマトモな方向に進化してるから最近はダメ

やっぱ、MySQL

907:NAME IS NULL
08/08/09 23:04:16
はマトモじゃない

908:NAME IS NULL
08/08/10 06:30:35
>>907
ワロタ

909:NAME IS NULL
08/08/10 14:04:47 3q2J+cNG
すいません、初心者の質問なんだけど、
!の使い方がわかりません。
Me!リストでもMe.リストでも違いはないんでしょうか?
どういうときに!を使うのでしょうか。教えてください。


910:900
08/08/10 14:23:59
>>909
確か、ドットはアーリーバインディングでコンパイル時に展開、バングは実行時に展開だったかな
ドットの方が早い

911:NAME IS NULL
08/08/10 14:28:50 3q2J+cNG
>>910
丁寧なご説明ありがとうございます。

912:900
08/08/11 12:57:13
>>911
ああ、半分しか答えてなかった
もう見てないかな?

> どういうときに!を使うのでしょうか。教えてください。
大元のクエリーが実行直前に変化した場合、変化する可能性がある場合は、パラメータクエリとか…
ドットではマズイ問題が生じる場合がある、バングなら都度展開だから確実

913:NAME IS NULL
08/08/11 13:07:38 4zxAH/kO
すいません、また超初心者の質問なんですけど、
フォームを表示させるとき、外側のアクセスの枠が目障りなんですけど、
ファームだけを表示させる方法ってありますか。
教えてください。


914:NAME IS NULL
08/08/11 13:09:32 4zxAH/kO
>>912
見てます。ありがとうございました。参考になりました。


915:NAME IS NULL
08/08/11 13:26:15
>>913
アクセスの枠ってのがどうもよくわからないのだが、
フォーム=>書式=>境界線スタイル=>なし
ではだめなのか?


916:900
08/08/11 13:58:21
>>913
フォームのプロパティでポップアップ選んで最大化したら良いんジャマイカ?

超初心者なら桐も試してみそ?
桐だと、さらにオーバーラップってのもあるから

917:NAME IS NULL
08/08/11 16:00:07
米Microsoft、「SQL Server 2008」を提供開始
 7種類のエディションを用意した。大規模システム向けの「Enterprise」、標準の「Standard」、ワークグループ用の「Workgroup」、
インターネット・Web専用の「Web」、開発者向けの「Developper」、ISVの再配布や学習目的に最適な「Express」、組み込み用の「Compact 3.5」で、
ExpressとCompactの2種類は無料。
URLリンク(enterprise.watch.impress.co.jp)

918:NAME IS NULL
08/08/11 16:08:31 4zxAH/kO
>>916
ありがとうございます。だいたいできました。フォームは子供、孫がいるんですが、全部ポップアップにすると
アクセス作業枠の外にはみ出すことができました。
しかし、最小にすると、フォームも消えてしまいます。
こいつを目触りにならないように処理できないのですかね。

919:NAME IS NULL
08/08/11 16:20:50 4zxAH/kO
ここにありました。
VBのようにはいかないということですね。

URLリンク(www.nurs.or.jp)

920:NAME IS NULL
08/08/11 22:49:28
やっぱりアクセスじゃアプリ作れないじゃん。桐のオーバーラップは神。

921:NAME IS NULL
08/08/11 23:44:08
ほんまどんなアプリ開発も桐にしとけでFAやで…

922:NAME IS NULL
08/08/12 19:04:11
やっぱり、みんな壁紙を見たいわけ?

923:NAME IS NULL
08/08/12 20:42:35
to KIOSK Form

924:NAME IS NULL
08/08/23 11:35:59
>>888
OOoってなに?
ポニョ?

925:NAME IS NULL
08/08/23 21:40:39
>>924
OpenOffice.orzだろ


926:NAME IS NULL
08/08/24 23:39:46
マクロの作り方についてです。

コマンドボタンX,Y,Zがあり、それぞれモジュールx、y、zが
クリック時プロパティとして環境設定されています。

ここで、コマンドボタンX、Y、Zを順に押すマクロを作りたいのですが、
どうすればいいんでしょうか?
(結果的にモジュールx、y、zが作動するようにしたいのですl

927:NAME IS NULL
08/08/24 23:49:01
ボタンを押すマクロは作れないけど、
ボタンを押したら起動するマクロ1つ作って、そこから x、y、z を順に呼べば良いんでない?

928:NAME IS NULL
08/08/25 19:00:28
>>927
m(__)m

デザインモードにして、コマンドボタンX,Y,Zからクリック時プロパティ
として張り付いているマクロx、y、zをそれぞれコピーしてマクロウィンドウ
に順に張っていけばいいのかな?

モジュールはまだ途中だからわかなんいよ。

929:NAME IS NULL
08/08/25 23:13:45
根本的にマクロというものをなにか勘違いしてないかな?
エクセルのように操作を記録する機能はAccessにはないよ。
Accessのマクロは下位互換性を維持するだけにあるだけだと思うよ。
できることが限られている上にけっしてわかりやすくない。


930:NAME IS NULL
08/08/25 23:35:39
マクロ、モジュール、プロシージャがごっちゃになってない?
クリック時に設定されてるのはプロシージャなの?マクロなの?

931:NAME IS NULL
08/08/26 11:29:02
>>925
2ちゃんに毒されてないか?

932:通りすがり
08/09/01 15:26:30 WpgIIdKe
はじめまして
ネットワーク越しのリンクテールだと、テキスト型の項目のインデックスが使われません。
ローカルにコピーすると使ってくれます。
showplan.outファイルでも確認しました。
数値型項目だと、ネットワーク越しでもインデックスを使ってくれます。
この件について、なにかご存知の方は教えてください。
よろしくお願いします。

933:NAME IS NULL
08/09/03 21:18:11
新参者ですm(__)m
桐からAccessに乗り換えようと、初っぱなから半日ほど悪戦苦闘
ひょっと・・・と思ってココでスレ探して >>892 読んで初めて納得
桐の一括処理を駆使したシステムをAccessに移植するのは、骨が折れそう(>_<)ヽ

で、テーブルに計算式が使えないって事は、クエリで計算してアップデートしろって事でしょうか?

「桐にしとけ」という声が聞こえるような・・・

934:892です
08/09/04 01:23:48
>>933
> 桐の一括処理を駆使したシステムをAccessに移植するのは、骨が折れそう(>_<)ヽ
骨が折れるとかなんとかではありません。全面的に作り直しになります。
一応両方ともデータベースだという以外は似ているところはまったくといっていいくらいありません。
> で、テーブルに計算式が使えないって事は、クエリで計算してアップデートしろって事でしょうか?
はいそのとおりです。本来桐のようにデータと計算式が一体になっているというのはデータベースでは異例なんです。
これは桐のユーザーにとっては面倒だとは思うのですが、理論的には別になっているべきものです。
もうひとつ脅しておくと、桐のデータも時々壊れることがありますが、Accessのデータはその何倍も壊れやすいです。
しかも、桐ならばだいたい修復できるのですが、Accessのデータは修復してもだめなまんまということが多いです。
それだけ聞くと、たしかに桐にしとけって話にもなるんですが、桐は閉じた世界です。
桐をいくら勉強しても桐の世界以外にはいきません。
Accessは壊れやすいデータがいやならMySQLなりPosgresqlなり他のデータベースを採用することができます。
桐は一応外部データベースを使えることになってますが、速度の面で問題があるようです。
Accessでデータの更新等に使われるSQLも標準技術ですので他への応用が利きます。
まあ、はっきりいって最初は不平不満たらたらという状態になるはずですが、AccessにはAccessの良さがあります。
桐をやめろとはいいません。桐で間に合うことに無理にAccessを使う必要はないでしょう。
私も時には桐でちょっとしたアプリケーションを作ることがあります。がんばってください。

935:NAME IS NULL
08/09/04 05:30:59
>>934
早速&長文&脅し付き TNX www
桐はDOS時代から使ってる。
仕事が忙しくて、今まで乗換えできなかったのだが、新しいデータベース構築を機に乗換える事にした。
移植というか、機能的にほぼ同じものを作ろうとしている。
本業は畑違いながら情報処理の心得はあるので、最初のブレークスルー後はなんとかなると思ってる。

時間も少しあるので、このスレ参考にしながら頑張ります。

936:NAME IS NULL
08/09/04 09:49:18 chsIXRcK
初心者です。
Access質問スレがなかったので…どなたか教えて下さい。すみません。

幾つかあるcsvのファイルをAccessで選び、Accessに出力したいのですが…

幾つかあるcsvのファイル一覧を選択肢として、Accessに表示する方法が解りません。
どなたかアドバイスお願い致します。

937:NAME IS NULL
08/09/04 10:19:36
>>936
つ「コモンダイアログコントロール」

938:936
08/09/04 10:25:42 chsIXRcK
ご返答ありがとうございます。

すみません。もう一つ質問です。api関数を使用せずに出来る方法はあるでしょうか。

ありましたら教えて下さい。お願い致します。

939:NAME IS NULL
08/09/04 10:50:37
>>938
開く→ファイルの種類→テキスト(*.csv)

940:NAME IS NULL
08/09/04 10:51:26
>>938
       巛彡彡ミミミミミ彡彡
       巛巛巛巛巛巛巛彡彡
   r、r.r 、|:::::           |
  r |_,|_,|_,||::::::     /'  '\ |
  |_,|_,|_,|/⌒      (・ )  (・ )|
  |_,|_,|_人そ(^i    ⌒ ) ・・)'⌒ヽ   ・・・はぁ?
  | )   ヽノ |.   ┏━━┓|
  |  `".`´  ノ   ┃ ノ ̄i ┃|
  人  入_ノ´   ┃ヽニニノ┃ノ\
/  \_/\\   ┗━┛/|\\
      /   \ ト ──イ/   ヽヽ 

941:892です
08/09/04 15:59:19
>>935
同じく桐はDos時代からえーーーとVer3くらいだったけ?もっと前だったような気もするけど・・・・
まあ、使ってます。
一応私の場合はdBASEIIからデータベースと呼ばれるものはいろいろとやっているのだけど、
一番Accessが面倒でした。
最低でもデータとプログラムの分割はやるべきです。
それから終了時の最適化もやるのとやらないのとでは大違いです。
ちょっとでも動きがおかしいと思ったら空のデータベースを作ってそこへインポートして使ってください。
これである程度安定化します。
桐はそんなことする必要はないぞというのはもっともですが、全然違うものを比較しても無意味です。


942:NAME IS NULL
08/09/04 16:46:06
>>933

>で、テーブルに計算式が使えないって事は、クエリで計算してアップデートしろって事でしょうか?

テーブルにユニークなキーがあれば残高計算くらいは選択クエリーだけでできたはず





943:NAME IS NULL
08/09/04 18:01:12
>>942
でも遅くてとても使い物にならないという話だったよ。


944:933
08/09/04 21:13:43
>>941-943
みなさんにレス頂いて、一寸おっかなびっくりw
dBASEⅡ時代は知ってるけど顧客管理をBASICで組んでた。
データベースに触れたのは桐3からだったと思う。
データとプログラムの分割ってホルダーとかパーテーションで割れって事かな?

やりたい事は、生産管理(部品納期や工程進捗)
稼働カレンダーのテーブルから取り掛かったんだけど、

[日付][曜日][稼働]
9/1 月   1
9/2 火   1
 :
9/7 日   0

って感じで、曜日を入れたかったのと、土日はデフォで 0 にして、後で会社カレンダーに合わす事に。
そこでSQL文で引っかかったというド素人です。
とりあえず、最初の障害は更新クエリでクリアしました。
最終的には本体完成のリードタイムに合わせて、いつ部品が必要で、いつユニットが組みあがって・・・というもの

よろしければ、続けて質問にお付き合いをm(__)m
・クエリってSQL 1行(のみ)で構成されているもの?(複雑な更新はVBA)
・入力時の既定値に、前行から値を取得して加工する事は出来ない?(DLASTは入力既定値には使えない)

945:NAME IS NULL
08/09/04 22:18:34
>>938
VBAにDIR関数がある。
古典が嫌いならScripting.FileSystemObjectも使える。

946:NAME IS NULL
08/09/04 23:51:08 31HRRJ0I
【麻生太郎は差別主義者】
(野中引退寸前、最後の自民党総務会で)

堀内の目の前に座っていた野中が、
「総務会長!」
と甲高い声を上げたのはそのときだった。

立ち上がった野中は、
「総務会長、この発言は、私の最後の発言と肝に銘じて申し上げます」
と断って、山崎拓の女性スキャンダルに触れた後で、政調会長の麻生のほうに
顔を向けた。
「総務大臣に予定されておる麻生政調会長、あなたは大勇会の会合で、
『野中のような部落出身者を日本の総理にはできないわなあ』とおっしゃった。
そのことを、私は大勇会の三人のメンバーに確認しました。君のような人間が
わが党の政策をやり、これから大臣ポストについていく。こんなことで人権啓発
なんてできようはずがないんだ。私は絶対に許さん!」

野中の激しい言葉に総務会の空気は凍りついた。麻生は何も答えず、顔を
真っ赤にしてうつむいたままだった。

「野中広務 差別と権力」P352



947:NAME IS NULL
08/09/05 00:52:01
今.NETの案件で帳票出すのに、Microsoft.Reportingとクリレポを調査してんだけど
アクセスのレポートって意外と使いやすいのに気がついたわ。とくに、正規化した
テーブルの外部キーをそのままコンボボックスの値として渡して、コンボはコンボで
マスタの一覧を別に動的に取得しておいて、渡された値でマスタの名称なんかの
文字列を表示できたりするのが便利だ。あとレポートのレンダリングごとに関数を
呼び出してパラメータを動的に変更させたりできるのもいい。

948:NAME IS NULL
08/09/05 01:09:56
フォームならともかくレポートでコンボボックスって使うか?

949:NAME IS NULL
08/09/05 03:49:04
あまりスマートな感じじゃないな

950:NAME IS NULL
08/09/05 10:27:02
フォーム側で制御して、レポートはただ出力されるようにした方がいいと思う。

951:NAME IS NULL
08/09/05 10:53:25
確かにスマートじゃないけど、別に問題も無いと思うけどなあ?


952:NAME IS NULL
08/09/05 12:47:19
レポートのフォーマットを頻繁に変えるエンドユーザーに対してはけっこう有効。
「おまいら変えたくなったら自力でやれよ」みたいに。

しかし、金がとれなくなった・・・orz

953:NAME IS NULL
08/09/05 12:50:14
自分で仕事を減らしたのかw

954:NAME IS NULL
08/09/05 13:46:01
紙の面積は有限だからよく考えて配置したい。
余計な▼増やされると困るケースもあるよ

955:NAME IS NULL
08/09/05 19:54:24
>>954
ンッ・・・・・困るケース?
別に▼が印刷されるわけじゃなし、そんなことってあったけ?
最近ではあまり使わないようにしてる(なんとなくスマートでないからって理由)から
よくわからないけど?


956:NAME IS NULL
08/09/05 20:14:48
>>954
やったことないならやってみれ。意外と便利。

957:954
08/09/06 00:44:26
>>956
逆だ逆、初心者の頃によく解らず使ってたよ

958:NAME IS NULL
08/09/06 01:54:26
>>957
余計な▼なんて出ないんだけど。

959:954
08/09/06 09:18:23
紙の面積は有限だから余計な▼「の部分の面積」を浪費されると困るってことだよ…


960:NAME IS NULL
08/09/06 14:46:33
>>959
何をいってるのかさっぱりわからない。
デザイン上は▼表示されるけど、プレビューで見たらその部分も
テキスト領域として印字できるんだから、紙面上は▼も含めて、
コントロールの全領域を表示領域として帳票をデザインすれば
いいだけじゃやないの?

961:954
08/09/06 15:17:57
あれ、そうだったのか?だったら俺の勘違いだ。スマン

まあでも白背景に文字だけ印刷じゃなくてボックスに境界線つけて印字することが多いから
上下余白も設定できない(2007は知らん)コンボボックスはどっちみち使わないんだがな・・・

962:NAME IS NULL
08/09/06 15:57:33
俺は罫線は線で引くけどなあ・・・

963:NAME IS NULL
08/09/06 21:27:08
俺は境界線派だな。
いくら会社の仕事とはいえ、本職ではないから
結局は趣味の延長線上。
VBAをガシガシ書くのは好きだが、レポートとかフォームとかは
ウィザードでできたものを修正するぐらいに手を抜く。
下手をするとEXCELで作表したものを貼り付けることも。

964:NAME IS NULL
08/09/07 00:34:44
いいか悪いかは別にして、日本人は罫線だらけの帳票大好きだからな…

エクセルが事実上表計算ソフトの代名詞と言えるほど普及してるのに
同じオフィス同梱のワードがネームバリュー今一なのは一太郎みたいに
直感的に罫線引けないからって説もあるほど。

965:NAME IS NULL
08/09/07 19:33:18
>>964
スペースで桁揃え出来ない時点で終わってます。

966:NAME IS NULL
08/09/07 21:34:48
スペースで桁揃え(笑)

967:NAME IS NULL
08/09/08 10:02:13
>>964
ああ、確かに分かる。
罫線のためだけにExcelで文章書いてるのが多い。

会社入ってからWordを1度も使ってない。

968:NAME IS NULL
08/09/08 11:45:52
>>967
> 罫線のためだけにExcelで文章書いてるのが多い。
電卓片手にExcelで入力。
なにかが間違っているW
かと思えばExcelのセルの幅と高さを揃えて方眼紙のようにしてそこに図面を書く。
確かに見事な図面を書いてはいるんだが・・・・・・なんか違うぞ?


969:NAME IS NULL
08/09/08 17:46:55 VWtMWGtA
Accessで、上書き保存したのに…
反映されない

なんてバグありますか?

先ほどから上書き保存しているのですが、一度閉じると…
上書きされてない…。

970:NAME IS NULL
08/09/08 18:15:37
>>969
アクセスに上書き保存なんて概念あったっけ?という疑問はさておき・・・・・
mdbが壊れている可能性がありますね。
空のmdbファイルを作ってそこに全オブジェクトをインポートしてください。
そのまま使いつづけると完全に壊れてインポートもできなくなる可能性が高いです。


971:NAME IS NULL
08/09/08 20:18:05 VWtMWGtA
すみませんaccess初心者です。業務でaccessを使うことになったのですが…変更しても保存出来なくなりました。

バックアップを開き変更したら保存出来たので…それを使うことにしました。

アドバイスありがとうございます!!

972:NAME IS NULL
08/09/08 21:39:43
変更とか保存とか本当にAccessなのか使ってるのは…

973:NAME IS NULL
08/09/08 22:28:22
フォームとかVBAの部分の変更が保存されないってことじゃないの?
mdbファイル壊れてるとままあることじゃね

974:NAME IS NULL
08/09/09 11:22:12 Dsded7aI
プルダウンで過去5年(2004 2005 2006 2007 2008)という感じで表示させ、選択出来るようにしたいのですが…

オプションの値集合ソースに
SELECT year(NOW()-5 ~
とかいれてみたのですが…5年分でなくて困ってます。

クエリで上手く作ることも出来ず悩んでます…

どなたかアドバイスをお願いします。


975:974
08/09/09 11:48:12 Dsded7aI
変なことを聞いてしまいすみませんでした。
VBAの問題でした。


976:NAME IS NULL
08/09/09 15:23:23
>>974
Value List でデータ直打ち
2004;2005;....;2008
じゃだめなのか?

データ範囲が可変なら VBAで直接作ればいいだけ。

977:NAME IS NULL
08/09/10 05:46:32 xahfvKur
単純なP/L番号生成プログラムをAccessで作成したのですが、排他制御が
うまく機能しません。オプションで「排他モードで開く」を選択しても、
実際ファイルを開いたときに .ldbが生成されてしまい、排他制御が利きません。

ショートカットから /excl スイッチというのも試しましたがだめでした。

単純にファイル単位での制御ができればよいのですが、どこを見落としている
のでしょうか?

978:NAME IS NULL
08/09/10 10:39:08
排他って、開く方がするもんじゃないのか?

979:NAME IS NULL
08/09/10 11:55:41 ZEzaTfyG
テーブルAから一つだけ値を指定して、フォームAのコンボAに入れたいのですが…

どうやっても
#Name?
になってしまいます。

VBAかSQLを使うと思うのですが…上手くいかないので…上手い方法をどなたか教えて下さい。

980:NAME IS NULL
08/09/10 14:15:36
>>979
まずテーブルAから一つだけ値を指定して目的のレコードを抽出するクエリーは作れる?

981:NAME IS NULL
08/09/10 14:49:22 ZEzaTfyG
はい。そこは出来るのですが…フォームのテキストボックスに入れることが出来なくて困ってます。

982:981
08/09/10 16:25:05 ZEzaTfyG
すみません。
なぜか一旦ACCESSを閉じて開いて…みたら…
何故か解りませんが…出来ました。


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

983:NAME IS NULL
08/09/11 00:39:06 bBXAVZRa
>978
アクセスでは「排他的にファイルを開く」というイメージのようですが
そのように開いた後も、同ファイルを別ユーザが開くことができるので
困っております。

984:NAME IS NULL
08/09/11 00:58:25
排他制御が必要不可欠ならSQLServerその他のRDBMSに乗り換える必要あり

985:NAME IS NULL
08/09/11 01:48:55
>>983
ファイルを開く時にフラグを立てて、そのフラグが立っている間は別のユーザーが開けないようにすればいいんじゃない?
例えばtest.mdbならtest.lkというファイルを作ってそれをフラグとして使うとか?
というかファイル単位の排他制御がなんで必要なのか良くわからない。


986:NAME IS NULL
08/09/11 23:24:02
漏れの2003はふつうに排他制御利くけどな。
逆にどういう状況だと利かないのか、そっちの方が知りたい。

まさか詳細オプションを排他モードにしたけど、開くときは
いつもどーりファイルをダブルクリックしちゃってました、って
オチじゃないだろーなw

987:NAME IS NULL
08/09/12 00:24:40
ダブルクリックしたら「他の人が開いてるからダメです」的なメッセージで
拒否ってほしいってことでしょ、それもコード等一切なしで。

まあ普通に㍉だから

988:NAME IS NULL
08/09/12 05:27:01 uDSljEeg
>>987
実はそうですが、無理なんでしょうか。エクセルのように読み取りオンリーとか
アクセス拒否がされるとよいのですが。

>>986
オプションは排他モードで、
ファイルを開くときはショートカットから
Target: "ファイル名.mdb"/excl とオプションをつけて開いています。

実際に排他制御が聞いている状態というのはどういう動作をするのか
教えていただけませんか?

また、オプションの
「既定のレコードロック」の部分はどれが選択されているべきでしょうか?

989:NAME IS NULL
08/09/12 12:06:43
根本的に表計算とデータベースの違いがわかってない気がするのは俺だけ?


990:NAME IS NULL
08/09/12 14:41:13
1.ダミーテーブルを用意
2.メインフォーム、起動時にダミーテーブルをチェック
3.何もなければ適当なデータを追加して処理続行
4.、ダミーテーブルにレコードが存在したらただちに終了
5.メインフォーム終了時にダミーテーブルのレコードを削除してから終了

これでご所望の排他処理ができますが

991:NAME IS NULL
08/09/12 15:05:02
>>990
プログラム無しでやることを希望しているようなんだが?
そりゃあ無理?たぶんそうだろうなあ。

992:986
08/09/12 23:54:57
>>988
> オプションは排他モードで、
> ファイルを開くときはショートカットから

オプション設定は、ショートカットから開くときには何の関係もないよ。
あれはファイルメニューの「開く」から開くときだけ関係ある設定だから。

> Target: "ファイル名.mdb"/excl とオプションをつけて開いています。

「Target」というのはよく分からない。
WindowsXPのショートカットにはそういう設定はないから、Vistaかなんかの話?
とりあえずWindowsXPのショートカットの場合、プロパティの「リンク先」って
いうボックスに下のような感じで設定する。

"%ProgramFiles%\Microsoft Office\OFFICE11\MSACCESS.EXE" "排他で開きたいmdbのフルパス" /excl

上はAccess2003の場合のパス。他のバージョンだとアプリのパスが変わるはず。
このショートカットをダブルクリックすると、排他で開く。
アプリのパスを省略すると、排他では開けない(ふつうに共有で開く)。
「excl」というのはあくまでアプリのためのスイッチだから。
排他で開かれているファイルを他の誰かが開こうとすると、こんな風に言われるはず。

'排他で開かれているmdb' は既に使用されているので、使用できませんでした。

自分がいままで使ってきた中では、使い方を間違っている場合を除いて、
排他制御の指定がきかなかったことは一度も経験したことがないよ。
たいして使ってないからあてにはならんけど。

> また、オプションの
> 「既定のレコードロック」の部分はどれが選択されているべきでしょうか?

知らない。
ファイル自体を排他で開くことと関係あるとは思えないし。
べきとかべしとかじゃなく、したいように設定するところじゃないすか?
間違ってたら誰か正しいことを書いてやってくれ。

993:NAME IS NULL
08/09/13 06:16:22
無理だって言ってる奴は何なの?馬鹿なの?死ぬの?


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch