トップページ⇒db
993コメント337KB

【I love Access】やっぱりアクセスが良い

■ このスレッドは過去ログ倉庫に格納されています
0001魔法使いの弟子2007/06/16(土) 23:40:21ID:???
比較3原則
1.他のデータベースと比較し必要以上に持ち上たり貶めたりする愚をおかすべからず。
2.比較し必要以上に持ち上たり貶めたりする他のデータベース使いを無視スルーする度量を持つべし。
3.1原則2原則に違反しない限りにおいては節度を持って比較し議論することをかまわないものとする。
0655NAME IS NULL2008/06/01(日) 10:01:17ID:???
認めざるを得ないスキルを見せつけてる
0656NAME IS NULL2008/06/01(日) 10:19:18ID:???
認められると思うよ
0657NAME IS NULL2008/06/01(日) 15:53:13ID:???
>>654
マジレスすると
「お前がACCESSで何が出来るか」
に掛かってるだろ。
0658NAME IS NULL2008/06/01(日) 15:57:46ID:???
現場によるけどな。
0659NAME IS NULL2008/06/01(日) 19:43:19ID:???
職場になにかとaccess使うやつ(上司)がいるが
わりと出来るやつということになってる
だが、嫌い俺は

勉強して抜いてやる
0660NAME IS NULL2008/06/01(日) 22:20:39ID:???
部下が使えるようになり上司も喜ぶ事だろう
がんばりたまえ
0661NAME IS NULL2008/06/02(月) 23:53:28ID:???
Access使える香具師よりもExcel使える香具師の方が価値が高いと思うこのごろ
0662NAME IS NULL2008/06/03(火) 02:24:29ID:???
Excel使える香具師よりも日本語使える香具師の方が価値が高いと思うこのごろ
0663NAME IS NULL2008/06/03(火) 20:19:37ID:???
Accessだけ使えるのも珍しいだろ
0664NAME IS NULL2008/06/03(火) 20:25:57ID:???
Accessだけ使えるやつなんて信用しない。なぜならば本当に
Accessがどのようなものかを知っている人間はAccessを
使わないからだ!
0665NAME IS NULL2008/06/03(火) 20:26:52ID:???
>>664
ワロタ
0666NAME IS NULL2008/06/03(火) 22:33:06ID:???
なこと言っても、Excelとの親和性を考えたらAccess以上の物ないし
0667NAME IS NULL2008/06/04(水) 10:54:47ID:???
Excelとの親和性なら桐のほうが高いと思うけどなあ?
0668NAME IS NULL2008/06/04(水) 11:21:01ID:dxyYnNU/
>>667

わしも、そーおもう
0669NAME IS NULL2008/06/04(水) 20:45:33ID:???
初歩の初歩を聞いてスマンコだけど、100万レコードとかって耐えられる?(個人的な使用だけど)
0670NAME IS NULL2008/06/04(水) 21:04:24ID:???
個人的な使用なら糞遅くてもいいだろ。だから耐えられる。
0671NAME IS NULL2008/06/04(水) 21:59:17ID:???
百万レコード単位になると、
一時テーブルを作った時とかに2ギガ制限に引っかかることがある。
あと大量データの時だけ発生するエラーが結構あった気がする。
でも気を遣えば大丈夫。
0672NAME IS NULL2008/06/04(水) 22:10:51ID:???
全レコードに1メガの画像データ埋め込んだら100万どころか2000レコードでも限界だよ
0673NAME IS NULL2008/06/04(水) 22:13:41ID:???
レコードに画像を埋め込むのってどういう用途なんだ?
想像できん…
0674NAME IS NULL2008/06/04(水) 22:24:15ID:???
お手本中のお手本であるNorthWind.mdbからして
商品の写真をマスターテーブルに埋め込んでなかったっけ・・・?
06756692008/06/04(水) 23:04:51ID:???
レス、thxです。株価データを貯めこもうかと考えてる最中でして、そんなに増やそうとは思ってないんだけど、
年度単位とかに分けて作っておいた方が良いかな。


ま、ちょぼちょぼと作っていきますw
0676NAME IS NULL2008/06/04(水) 23:07:14ID:???
年度単位じゃ株価データの意味ないと思うぞ
銘柄単位とかセクター単位とか
0677NAME IS NULL2008/06/04(水) 23:17:41ID:???
株価データなら、MDBで600万件(700MBほど)管理してるけど、全然平気。
2GB超えるようなら、対策考えるけどね。



0678NAME IS NULL2008/06/04(水) 23:48:17ID:???
対策って何よ
0679NAME IS NULL2008/06/05(木) 05:48:29ID:???
MDBなら年度ごとにテーブル分けてても
リンクテーブルにしてUNIONかければ対応可能だろ
0680NAME IS NULL2008/06/06(金) 09:57:39ID:???
UNIONかけたら2GB超えても大丈夫なん?
0681NAME IS NULL2008/06/06(金) 10:12:16ID:???
>>680
ムリポ
0682NAME IS NULL2008/06/06(金) 19:55:44ID:???
それぞれのmdbが2G超えなければ合計2G以上も行けるって事だべ
0683NAME IS NULL2008/06/06(金) 19:59:34ID:???
2007でも2GB制限あるの?
0684NAME IS NULL2008/06/06(金) 20:07:20ID:???
うん
0685NAME IS NULL2008/06/06(金) 20:08:49ID:???
mdbじゃなくてtblだけどな
0686NAME IS NULL2008/06/06(金) 20:11:05ID:???
?
0687NAME IS NULL2008/06/06(金) 20:13:55ID:???
データベースの仕様
次の表は、Microsoft Office Access 2007 データベース特有の仕様の一覧です。

全般
属性 最大値
Access データベース (.accdb) ファイルのサイズ 2 GB からシステム オブジェクトに必要な領域のサイズを引いた値
データベースのオブジェクトの数 32,768
"HasModule/レコード保持" プロパティが [はい] に設定されたフォームおよびレポートを含むモジュールの数 1,000
オブジェクト名の文字数 64
パスワードの文字数 20
ユーザー名やグループ名の文字数 20
データベースを同時に使用できるユーザーの数 255
0688NAME IS NULL2008/06/09(月) 16:45:27ID:???
public変数を使ったアプリの挙動がおかしかったので、調べてみたら

[VBA] Public 宣言された変数の有効期間
http://support.microsoft.com/kb/408871/ja

publicの意味ないじゃんw
これって使うなってことだよな
0689NAME IS NULL2008/06/09(月) 17:32:47ID:???
消えてほしくないなら、ふつうSetProp使うのが常識だろ。
オブジェクト型とかは無理だけど。
0690NAME IS NULL2008/06/09(月) 20:01:44ID:???
でもVBAじゃグローバル変数使わざるをえないケースが多々あるわけで
0691NAME IS NULL2008/06/09(月) 20:27:01ID:???
解決方法にアクセスの場合の記載が無い w
どっかテーブルにでも保存すっか? ww
0692NAME IS NULL2008/06/09(月) 20:58:44ID:???
本当に消えて困るのは、グローバル変数の代わりに標準モジュールにプロパティ作っとく。
プロパティの中で、退避しておいた値をGetPropやDLookupで復元する。
これVBAの基本テクニック(入門書に載ってるかどうかは知らない)。

ただ、KBに載ってるケース(エラートラップしないとか、動的にモジュール作成とか)に
該当してるなら、そういうことする必要性自体が自分にはピンと来ないな。
なんでそういう危ない橋を好んで渡るかね。
0693NAME IS NULL2008/06/09(月) 21:39:04ID:???
2007でTempVarsが使える俺は勝ち組!
0694NAME IS NULL2008/06/09(月) 21:42:58ID:???
漏れも漏れも、2007でTempVars使ってる勝ち組、変数スコープがマトモな桐も使ってる勝ち組
0695NAME IS NULL2008/06/10(火) 00:53:30ID:???
人柱乙(−人−)
0696NAME IS NULL2008/06/10(火) 08:44:13ID:???
>>691
おいらは不可視のテキストボックスつくって対応
配列とか対応できないけど、
0697NAME IS NULL2008/06/10(火) 09:04:47ID:???
消えて困る変数はMDBにつっこんどけwww
0698NAME IS NULL2008/06/10(火) 15:08:42ID:F+HVGTFM
ざっくりした質問ですいません

メインフォームの顧客IDとサブフォームの顧客IDでリレーション(1対1)してるのに
サブフォームが何枚も更新できるのってなぜでしょうか?
1IDに対し、サブフォームの情報は1枚しか必要ないのに、新しいフォームが
増えていくのが困ります。
0699NAME IS NULL2008/06/10(火) 15:19:20ID:???
>>698
http://blogs.msdn.com/access/archive/2008/06/05/demo-set-the-relationship-between-2-tables.aspx
0700NAME IS NULL2008/06/10(火) 15:41:14ID:F+HVGTFM
>>699
すいません、読めません
0701NAME IS NULL2008/06/10(火) 21:24:54ID:???
>>698
おまえの質問の意図が読めんわ
0702NAME IS NULL2008/06/11(水) 10:43:46ID:???
>>692
ありがとう。
アクセスは使ってないけど勉強になりました。
0703NAME IS NULL2008/06/11(水) 19:12:53ID:???
話題蒸し返しでごめん
Public変数の話

>モジュールの編集、プロジェクトの構造の変更、
>コンパイルエラーの発生、参照設定の変更、
>デザインモードへの切り替え、コントロールを削除して [元に戻す]
>を実行するなどのタイミングで変数が破棄される場合が

これはいいのよ
経験上なんとなくそうなんだろうなと思ってたことだから

たとえば編集不可のmdeで、ちゃんとエラートラップもされてて、見かけ問題なく
動いてても、実は持ってた変数放り出しちゃったりしてるの?
0704NAME IS NULL2008/06/11(水) 20:45:43ID:???
そこは自分も知りたい気がする。
「なぜか消える」という話だけだと、どこまで追ったか分からないからなぁ。
ろくにデバッグすらせずに言ってるのか、技術情報のポイントは全部
つぶした上で、それでも未掲載の何かで再現するもんなのか。
0705NAME IS NULL2008/06/12(木) 12:56:15ID:???
文法デバッグ済のmdeでも、実行時エラーでいくつかの変数スッ飛んだことがある
どっちにしろエラー起こして中の人からメッセージ出された場合は
変数巻き添えという頭があったんでさほど驚きもしなかったけど

そんな程度の話じゃないのかなあ、この変数が消える問題って
0706NAME IS NULL2008/06/13(金) 07:42:05ID:???
仕様外の動作に依存したプログラムを作るのはまずいんじゃないの
動作がいつ変わっても文句言えないし

まあUpdateとかで仕様も変わっちゃう事あるけどさ
0707NAME IS NULL2008/06/13(金) 18:41:10ID:???
アフォウ共、何言ってるんだ??

Static使わなければ、プロシージャの実行が終了すると値は破棄されるのは当たり前だ
Static ステートメント使えば良い話しだろ
0708NAME IS NULL2008/06/13(金) 21:23:10ID:???
>>707
ネ申が現れたwww
0709NAME IS NULL2008/06/13(金) 22:08:47ID:???
グローバル変数と静的変数って同じ物?
ちがうよね?
ネ申は死んだかな?
0710NAME IS NULL2008/06/13(金) 22:10:37ID:???
>>709
おい、何をトンチンカン、おい、桐にしとけ
0711NAME IS NULL2008/06/13(金) 23:16:51ID:DjzdsO75
>>709
バカ
0712NAME IS NULL2008/06/14(土) 00:14:56ID:???
Staticw
0713NAME IS NULL2008/06/14(土) 00:18:49ID:???
アッ、そうなんだ。桐はすでに使っているんでね。
グローバル変数を静的変数に変えればいいっていかにも乱暴な気がしたんだけど?
聞くは一時の恥。なにがバカなの?
0714NAME IS NULL2008/06/14(土) 08:40:48ID:???
グローバル変数って何よ w
Public のこと?
0715NAME IS NULL2008/06/14(土) 09:06:45ID:???
モジュールレベルのPublicをグローバルって言ってるんでないの
0716NAME IS NULL2008/06/14(土) 09:36:32ID:???
失礼どうやらPublicとGlobalとを混同していたらしい。似て非なるものだった。
グローバル変数とは全プロシージャから参照できる変数のこと。
Global GB_System As String
ってな具合に使っているけどまずいのかな?使っているのはAcceess2000なんで廃止されたならゴメン。
あまり使わないほうが良いと言われる手法だけどこれを避けようとすると返って面倒なことになるので
必要最小限頭に"GB_"というのをつけて一目でグローバル変数だとわかるようにして使っている。
もっと複雑なプログラムなら問題があるのだろうけど、現在特に問題は感じてないんだけどなあ?
0717NAME IS NULL2008/06/14(土) 10:02:37ID:???
VBAのPublicとGlobalは全く同じですが
0718NAME IS NULL2008/06/14(土) 10:17:43ID:???
あっ、そうなんだ?
Globalはpublicの古い書き方なんだ。
なんせAccessは最初のバージョンから使っているから気がつかないでずっとGlobalを使っていた。
でもいままでGlobal変数が消えて困ったなんて経験は無いけどなあ?運がいいだけ?
まあ、勉強になった。ありがとう。
0719NAME IS NULL2008/06/14(土) 10:18:21ID:???
>>715
モジュールレベルのPublicって何よ w
0720NAME IS NULL2008/06/14(土) 10:20:34ID:???
Access2007開発者用ヘルプ "スコープ"

適用範囲 (スコープ)
プログラム内で、変数、プロシージャ、オブジェクトが有効である範囲。適用範囲は"変数、プロシージャ、オブジェクトが宣言された方法や場所によって決まります。
たとえば、変数が Public ステートメントで宣言されていて、モジュールに Option Private Module が記述されていないとき、すべてのモジュールのすべてのプロシージャがその変数の適用範囲となり、
その変数はそれらのプロシージャから参照できます。Option Private Module が有効な場合は、モジュール自体がプライベートとして宣言されているので、参照元のプロジェクトからは参照できません。
プロシージャの中で宣言された変数は、そのプロシージャの実行中だけ有効で、キーワード Static により静的変数として宣言されていない限り、プロシージャの実行が、終了すると値は破棄されます。
0721NAME IS NULL2008/06/14(土) 10:23:37ID:???
>>719
言葉じり
0722NAME IS NULL2008/06/14(土) 10:24:52ID:???
実際にPublicが破棄されるような状況でStaticが破棄されないってあるのか?
0723NAME IS NULL2008/06/14(土) 10:35:40ID:???
Publicはメモリ確保が終了してるから、タマタマ残ってるって事、他が邪魔したら無くなる
Staticはメモリが確保されてる
0724NAME IS NULL2008/06/14(土) 10:41:09ID:???
>他が邪魔したら無くなる
他とは?
0725NAME IS NULL2008/06/14(土) 11:01:17ID:???
>>723
Publicが消えてStaticが残る状況を再現する手順を教えてください
0726NAME IS NULL2008/06/14(土) 11:02:35ID:???
他のモジュールが偶然同じメモリ領域使っちゃったら無くなるんじゃね?
0727NAME IS NULL2008/06/14(土) 11:06:09ID:???
>>726
いや、他のプロシージャでも偶然同じメモリ領域使っちゃったら無くなる
0728NAME IS NULL2008/06/14(土) 11:06:52ID:???
するとPublic変数というのは運が良ければ使える変数ってこと?
さすがMS。すごい仕様だなあ?
0729NAME IS NULL2008/06/14(土) 11:08:09ID:???
>>725
VBにはポインタの概念ないから偶然
0730NAME IS NULL2008/06/14(土) 11:09:32ID:???
>>728
スコープの参照範囲から参照できるってこと
スコープの時間的範囲が終了すれば、確保されない
0731NAME IS NULL2008/06/14(土) 11:09:41ID:???
モジュールがメモリからいなくなるときかな、削除したときとか?
0732NAME IS NULL2008/06/14(土) 11:32:59ID:???
>>730
モジュールに Option Private Module が記述されていないときは
public変数は全プロシージャから使えるってことでいいんだよね?
ずっとそう思って使ってきたんだけどなんか不安になってきた。

0733NAME IS NULL2008/06/14(土) 11:34:16ID:???
メモリ領域が使われたらどうのこうのって、
それなら値は初期化されずに不定になるって事にならないか?
そんな動作はしないだろ。
0734NAME IS NULL2008/06/14(土) 11:42:18ID:???
>>733
Staticは定位置にメモリが確保されてる
Publicはメモリ確保が終了してるから、他が邪魔したら、動的に別位置に設定しなおして値が無くなるんでは?
0735NAME IS NULL2008/06/14(土) 11:57:25ID:???
>>734
他の邪魔は許すが、他が邪魔したかどうかの監視(または判定)はしてるって事か?
えー
0736NAME IS NULL2008/06/14(土) 12:52:52ID:???
まあ、監視つーか、アドレスが他で埋まっちゃってたら、別に確保するしかじゃね
0737NAME IS NULL2008/06/14(土) 12:58:15ID:???
埋まったかどうかどうやって判断すんのさ
0738NAME IS NULL2008/06/14(土) 13:02:53ID:???
そこらへんはVB内部ってことで
判断できなければ、他のモジュールが確保して実行中(確保され続ける)の変数も守れないだろ
0739NAME IS NULL2008/06/14(土) 13:10:17ID:???
Static(静的)変数にくらべて、動的変数は一々解放しなくても、実行終わったら中身カラ(他でその領域使える)になるから便利ってことでないの?
0740NAME IS NULL2008/06/14(土) 13:20:14ID:???
>>734 >>738
Public変数ですー
他から要求があったら今使ってる領域は譲るよー、
でも代わりに別の領域を確保して初期化するよー

ってことですか、わかりません><
0741NAME IS NULL2008/06/14(土) 13:46:52ID:Sa3ZCVod
動的変数だからモジュールで使うたびにメモリ確保するんだろ
他で使ってたら別の場所にって事で
0742NAME IS NULL2008/06/14(土) 14:10:32ID:Q6ctkHOb
富山DQN男の家族消えろ 富山DQN男の親消えろ 富山DQN男の子供消えろ 富山DQN男の親戚消えろ
富山DQN男の家族消えろ 富山DQN男の親消えろ 富山DQN男の子供消えろ 富山DQN男の親戚消えろ
富山DQN男の家族消えろ 富山DQN男の親消えろ 富山DQN男の子供消えろ 富山DQN男の親戚消えろ
富山DQN男の家族消えろ 富山DQN男の親消えろ 富山DQN男の子供消えろ 富山DQN男の親戚消えろ
ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・) ニヤニヤ(・∀・)
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね死ね
苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね 苦しんで死ね
死ぬとき このレスの事思い出してから地獄へ行けよ
ニヤ(・∀・)ニヤ(・∀・)
0743NAME IS NULL2008/06/14(土) 14:48:26ID:hwIMB6Ac
うん、プロシージャで呼び出すたびにメモリ確保するのが正解っぽい。
だから =nothing とかしなくても良い。
0744NAME IS NULL2008/06/14(土) 16:04:50ID:???
ソースはお前らの脳内
0745NAME IS NULL2008/06/14(土) 16:32:02ID:hwIMB6Ac
呼ぶたびにメモリ確保するのはローカル変数
0746NAME IS NULL2008/06/14(土) 16:42:40ID:???
もう面倒くさいの嫌だから桐にしとくよ。
0747NAME IS NULL2008/06/14(土) 16:44:36ID:???
Publicが飛んだらStaticも飛ぶ。一緒。
トラップなしで実行時エラー起こしてみればすぐに
分かるようなことは、先に試せよ。
脳内妄想垂れ流してるのを見てると気の毒になるから。
0748NAME IS NULL2008/06/14(土) 16:54:11ID:???
>>747
(田中 亨=テクニカルライター)
ttp://pc.nikkeibp.co.jp/article/NPC/20070803/279044/?P=2
> しかし、モジュールレベル変数とパブリック変数は、静的変数のようにいつまでも値を保持するわけではありません。
> ユーザーの予期しないタイミングで値がクリアされることもあるのです。
0749NAME IS NULL2008/06/14(土) 16:57:08ID:hwIMB6Ac
そりゃあ実行時エラーすれば何でも起こりうる罠 wwww
0750NAME IS NULL2008/06/14(土) 17:10:59ID:???
結局MDBに変数を保存しておくのが無難か?
面倒だし若干スピードに影響しそうだけどしゃあない。

0751NAME IS NULL2008/06/14(土) 17:18:18ID:???
初期化されてたら取得ってことにすればいいんじゃない
0752NAME IS NULL2008/06/14(土) 17:42:07ID:???
いや、その初期化される前の値が欲しいんだが・・・
0753NAME IS NULL2008/06/14(土) 17:49:37ID:???
変数に変更があるたびにmdbを更新すればいいことなんじゃないのか?
0754NAME IS NULL2008/06/14(土) 19:13:44ID:hwIMB6Ac
staticで良いじゃん
他で使うときには、渡す先の引数で変数を渡す
■ このスレッドは過去ログ倉庫に格納されています