【I love Access】やっぱりアクセスが良い
レス数が900を超えています。1000を超えると表示できなくなるよ。
0001魔法使いの弟子
2007/06/16(土) 23:40:21ID:???1.他のデータベースと比較し必要以上に持ち上たり貶めたりする愚をおかすべからず。
2.比較し必要以上に持ち上たり貶めたりする他のデータベース使いを無視スルーする度量を持つべし。
3.1原則2原則に違反しない限りにおいては節度を持って比較し議論することをかまわないものとする。
0809NAME IS NULL
2008/07/01(火) 08:51:39ID:???>Nullには0を返すようにIIfIsNullで完成しました。
つ nz
0810NAME IS NULL
2008/07/01(火) 12:19:45ID:???ぞくっと震えがくるぐらいギリギリ微妙な、先端
0811NAME IS NULL
2008/07/01(火) 23:29:26ID:???使い分けなきゃいけない仕事はもういやだお・・・
0812NAME IS NULL
2008/07/02(水) 05:54:44ID:???Accessではどうしようもないだろwww
0813NAME IS NULL
2008/07/02(水) 19:53:35ID:???NULL禁止にすればいい!
0814802
2008/07/03(木) 22:26:16ID:exZxl670nzですか。知らなかったです。
IIfとIsNullを組み合わせて使おうと思いつくの一苦労だったのでなんか切ないです。
結合線の意味はやっと気付きました。リレーションシップの線のことですね。
たしかにあれを変えたらSQL上でLEFT JOINになりました。
なにやら恥をどんどん晒しているようで恥ずかしい限りですorz
0815NAME IS NULL
2008/07/04(金) 09:23:05ID:???そうやってどんどん覚えていけばいいんじゃなーい?
なんか自分の数年前を見てるようだw
私も初めてnz知った時は同じようにうれしいような切ないような気持ちになったしw
0816NAME IS NULL
2008/07/09(水) 11:18:47ID:???0817NAME IS NULL
2008/07/12(土) 19:37:38ID:dbIMVOlASQLは時間見て勉強した方がいいと思うぞ。
#DB使いは誰でも通る道だからね
0818NAME IS NULL
2008/07/12(土) 20:32:17ID:???Nzは返り値がVariant型だからね。
出した結果を再利用する時のことを考えて使うべき。
0819NAME IS NULL
2008/07/13(日) 01:10:27ID:???0820NAME IS NULL
2008/07/13(日) 09:10:08ID:???0821NAME IS NULL
2008/07/13(日) 09:15:55ID:???Nurupo zettaidame
0822NAME IS NULL
2008/07/19(土) 21:44:08ID:PehLay74お前に感心するよ。
俺だったら絶対関数あるはず、ってググッたり人に聞いたり(こっちが多かったりする)して
知識を分けてもらうことに努力しちゃうね。
お前はすばらしい努力家だよ。
でも会社は評価してくれないけどねww
0823NAME IS NULL
2008/07/19(土) 22:33:58ID:???なんかイヤな事でもあったのか
0824NAME IS NULL
2008/07/20(日) 01:31:07ID:???聞いてばかりじゃ、それも仕方がないな。
0825NAME IS NULL
2008/07/20(日) 06:45:34ID:???性格も悪そうだし、仕方がないね。
0826NAME IS NULL
2008/07/20(日) 14:58:58ID:???0827NAME IS NULL
2008/07/23(水) 17:00:26ID:d9fcTHfR(リンクテーブルではなく、プロジェクトを利用)
色々な壁にぶつかりつつ、少しずつ前進しているのですが、全般的に
情報が足りなくて困っております。
オススメのサイトか書籍をご存知でしたら、教えていただけませんか?
以下のサイトは、すごく参考になったのですが、これだけだと不十分
で色々探しております。
ttp://www.microsoft.com/japan/sql/solutions/aup/selfstudy.mspx
ttp://www.atmarkit.co.jp/fwin2k/win2ktips/404accessmsde/accessmsde.html
0828NAME IS NULL
2008/07/25(金) 14:41:42ID:5EfeWVVD以下のサイトがなかなか参考になりました。
他にもなんかよいものがありましたら、教えて下さい。
ttp://www.accessclub.net/search1/
ttp://www.shoeisha.com/book/hp/pc/office/Access/index.html
ttp://www.microsoft.com/japan/technet/prodtechnol/sql/2000/evaluate/exercises.mspx
ttp://support.microsoft.com/kb/235359/ja
MSのサイトって、結構充実しているのに、何ゆえ、外部の検索エンジンを
使わないと、必要な情報にたどり着けないんだろう。。。orz
0829NAME IS NULL
2008/07/25(金) 15:42:28ID:???0830NAME IS NULL
2008/07/25(金) 17:50:16ID:IT6y9+c8ちょっと古い?それに定番だから見てるかもしれないけど
ttp://www.sqlpassj.org/bunkakai/begin/series/default.aspx
ttp://www.horikawa.ne.jp/msde/
下のほうはAccessはあまり使ってないかも
0831NAME IS NULL
2008/08/01(金) 12:17:33ID:???アクセス2002で日付型のデータを入力しています。
現状07/08/01の様に入力しないといけないわけですが
070801で認識させるような方法っていうのは有りますか?
0801と入力したら今年の西暦+0801になるようにカスタマイズできれば尚よしなんですが。
0832NAME IS NULL
2008/08/01(金) 13:36:36ID:???定型入力のプロパティに「00/00/00」と指定してください。
http://www.tsware.jp/tips/tips_318.htm
http://www.officepro.jp/access/field/index3.html
年数を常に省略する場合は「00/00」とすれば良いです。但しこの場合、今年以外の年は入力できません。
年数省略あり・なし両方を扱いたい場合は、VBAを使ってプログラムを組む必要があります。
0833NAME IS NULL
2008/08/01(金) 14:01:54ID:???プログラム組むしかないんですね
有り難う御座います
デフォルトのままで行くことにします。
0834NAME IS NULL
2008/08/01(金) 14:25:58ID:???0835NAME IS NULL
2008/08/01(金) 15:00:30ID:???0836NAME IS NULL
2008/08/01(金) 16:24:30ID:???0837NAME IS NULL
2008/08/01(金) 16:30:06ID:???最初から
0801→2008/08/01
08/01→2008/08/01
09/08/01→2009/08/01
0838NAME IS NULL
2008/08/04(月) 11:16:08ID:???巣に戻れよ。
0839NAME IS NULL
2008/08/04(月) 21:01:39ID:???> いまだに桐がどうのこうの言っているヴァカがいるのか。
> 巣に戻れよ。
その巣が寂れて閑散としているんだよ。察してやれよ。
http://pc11.2ch.net/test/read.cgi/db/1057318214/
0840NAME IS NULL
2008/08/05(火) 18:42:30ID:???0841NAME IS NULL
2008/08/05(火) 18:56:18ID:???かなり本気だと思われ。
極端に言えば神と崇めるレベルまで桐に心酔している。
0842NAME IS NULL
2008/08/05(火) 23:37:07ID:???0843NAME IS NULL
2008/08/05(火) 23:44:04ID:???accessより安くて機能が充実しているのならわかるのだが、
高くて機能充実しているのは普通だと思うのだが。
0844NAME IS NULL
2008/08/06(水) 01:34:22ID:???0845NAME IS NULL
2008/08/06(水) 06:10:20ID:???昔から桐だよ。
0846NAME IS NULL
2008/08/06(水) 09:10:20ID:???例えば、どちらも何十人もの同時使用ということについては考えられてないが、
AccessならMySQLなどを使ってクライアントサーバーにすることで対応できる。
桐でもまったくできないというわけでもないのだが、かなり無理があるようだ。
だから桐が悪いというわけではなく、閉じた環境の世界の中で使う分にはAccessより簡単で楽。
ちょっとしたアプリケーションなど簡単に出来てしまう。そういう場合はためらわずに桐を使う。
しかし、その後の発展が考えられる場合はAccessを使う場合がある。
結局どっちが良いかという問題では無く、ケースバイケースの話。
具体的に言うと、桐の使用者には教育者が多いのだけど、成績の処理だの経費の集計だのにはちょうどいい。
しかし、販売管理だの財務会計だのに桐を使うのはちょっとどうかと思う。
0847NAME IS NULL
2008/08/06(水) 12:57:04ID:???もともと経理処理なんてものはデータベース的じゃないんだけどな
桐は論理行番号があるから普通に累計計算できるけど、AccessだとADO/DAO介して無理やり(?)VBで組まないと累計すら出せない
経理処理みたいな定型業務に必要な機能は桐では全て最初から用意されてるから、簡単安全正確
当スレでのAccessの質問も、殆どは桐なら最初から機能が用意されてる
Accessだと一々ADO/DAO介してVBで組むから、煩雑だしバグも増える
非定形想定外の処理は桐でもマクロ組むけど、桐の一括処理は言語仕様が古臭い、VBよりも遅い
桐のODBC接続は常用は厳しいね、データのインポートやエクスポートに使って、運用は桐単独
0848NAME IS NULL
2008/08/06(水) 14:22:25ID:???桐のサイトに行くとわかるのだが、桐が狙っている市場ってExcelでは飽き足らなくなった人だよ。
それならまさに適材だと思う。
Accessを使いこなしている人が桐に移行するとはとても思えない。
0849NAME IS NULL
2008/08/06(水) 16:04:56ID:???0850NAME IS NULL
2008/08/06(水) 21:39:49ID:???>849 の才能に嫉妬
0851NAME IS NULL
2008/08/06(水) 21:53:57ID:???確かに印刷と累計は普通に出来たな。
日本語が違和感あったけど。
その後はAccess97に行っちゃったから、
Windows版の桐はよく知らん。
0852NAME IS NULL
2008/08/07(木) 00:06:23ID:???0853NAME IS NULL
2008/08/07(木) 01:47:56ID:???大概SQLServerのExpress版なんだが・・・
0854NAME IS NULL
2008/08/07(木) 02:31:15ID:???Accessでも出せるよぅ。重くなるけど。
Accessの方がいろいろ機動力がある気がしたわ。
DOS桐よりは。
0855NAME IS NULL
2008/08/07(木) 17:56:16ID:???http://www.systeminfinity.co.jp/sub/tech/doc/DSum/acs.html
これじゃだめなのか?
0856NAME IS NULL
2008/08/07(木) 18:05:12ID:Xsy4Y32Aんなぁ、計算量が指数関数的に増大してレコード増えると途端に限界
0857NAME IS NULL
2008/08/07(木) 21:01:22ID:???印刷すればいいことではないか?
普通であれば累計データをデータベースに持っていなければいけないことなんてないと思うけどなあ?
0858NAME IS NULL
2008/08/07(木) 22:01:32ID:???経理の現場では、出納帳見ながら**月**日現在の残高を銀行に預け入れ手配して出納帳記入とか、入力しながら**月**日現在の残高見てA社に支払い指示して入力とか、日常茶飯事。
出納帳に入力中に、残高が先月と比べて変だから入力漏れに気付いたり。
データベース的じゃないんだけど。
0859NAME IS NULL
2008/08/07(木) 22:11:44ID:???出納帳はExcelでどう?
0860NAME IS NULL
2008/08/07(木) 23:24:06ID:???データベースじゃないエクセルとか桐とか使ってればいいんじゃね?
0861NAME IS NULL
2008/08/08(金) 00:24:17ID:???AccessよりExcelとか桐とかが良いよな。
0862NAME IS NULL
2008/08/08(金) 00:41:33ID:???アクセスでもVBAで組んで累計書き込めるから、桐では最初からコマンドに用意されてるだけ
桐では定型処理・想定される処理が予めコマンドに用意されてる、アクセスでもVBAで組めば出来る
四捨五入とか年齢計算とか順位とか併合処理とか補集合とか、VBAで組むと死にそうになる
0863NAME IS NULL
2008/08/08(金) 01:43:39ID:???もうちょっとがんばりましょう。
0864NAME IS NULL
2008/08/08(金) 08:44:09ID:???ねえ君ぃ、ちなみに、そのなかで一番簡単そうな四捨五入、の関数作って書いてみて、
Function_四捨五入([テーブル・クエリ名],[フィールド名],[四捨五入する小数点桁])
0865NAME IS NULL
2008/08/08(金) 08:55:50ID:???Function_四捨五入([対象],[四捨五入する小数点桁])
だけでいいような気がする。
0866NAME IS NULL
2008/08/08(金) 09:05:18ID:???それと[四捨五入する小数点桁]にマイナス値を指定したら、-2指定とかだと少数点以上桁、10の位で四捨五入
0867NAME IS NULL
2008/08/08(金) 11:10:03ID:???0868NAME IS NULL
2008/08/08(金) 11:40:59ID:???MSのサイトにだってあるんだし。
それを自力で作ることで、応用力とかが養われるんじゃね?
Mid関数だって、leftとRightを使えば作れたはずだし。
まぁ、基本はパクって使用しているわけだがw
0869NAME IS NULL
2008/08/08(金) 12:15:18ID:???応用力のかけらもない○○だと言いたい訳だね(w
パクるのも応用力のひとつだと思うけどね。
一応本当にちゃんと動くかの検証も必要だし、バカでもできるってわけじゃない。
いいじゃん、ちゃんと動けば。
0870NAME IS NULL
2008/08/08(金) 12:29:32ID:???つまり -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
これでいいんじゃないか?
違う場合は教えてクレクレ。
0871NAME IS NULL
2008/08/08(金) 12:40:21ID:???MSのサイトにある四捨五入は対象がマイナス値だと四捨五入でなく四入五捨になる件(笑)
ダメだろ
0872NAME IS NULL
2008/08/08(金) 13:29:42ID:???そうなのか?
生憎四捨五入をあまり必要としない業種なものなので知らんかったわ。
必要になったとしても、都度870のようなコードを書き込んでいた。
BASIC使ったことのある人なら、違和感ないんだろうな。
>>869
そこまでは言わないけど、原理(と基本的関数の相関関係)がわからないと応用はできないはず。
逆に必要とする関数がなかった場合、桐のライトユーザーは困るんじゃないのかな。
0873NAME IS NULL
2008/08/08(金) 14:24:26ID:???0874NAME IS NULL
2008/08/08(金) 15:20:15ID:???Excelはだいたいわかったから次はAccessをマスターしたいというユーザーが多いのだけど、だいたいが挫折する。
そういう人にはむしろ桐を薦めたい。
Accessは本格的データベース開発システムのサブセットという面がある。
手っ取り早い道具としては桐は素晴らしい。桐で満足している人にAccessを薦めてもしょうがない。
でも現在のプログラムの本流とはかけ離れている。
Accessは簡易ながらも本流から離れていない。
本格的データベース開発システムを指向しながらももっと簡易にシステムを作りたいという場合には最適だと思う。
ということでわざわざ桐の利点なんざ教えてもらわなくても結構なんだよね。
0875NAME IS NULL
2008/08/08(金) 17:59:05ID:???はい、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
0876NAME IS NULL
2008/08/08(金) 18:03:24ID:???絶対値で四捨五入すれば良いだけの話だろ?
0877NAME IS NULL
2008/08/08(金) 18:15:54ID:???んと、875 のを使うとして
対象値 -0.5 -1.5 -2..5
Round関数 0 -2 -2
MaxcRound 0 -1 -2
AbscRound -1 -2 -3
ずれたかも。
0878NAME IS NULL
2008/08/08(金) 18:17:22ID:???対象値 -0.5 -1.5 -2..5
Round関数 0 -2 -2
MaxcRound 0 -1 -2
AbscRound -1 -2 -3
どだ
0879NAME IS NULL
2008/08/08(金) 18:19:14ID:???0880NAME IS NULL
2008/08/08(金) 19:10:10ID:???0881NAME IS NULL
2008/08/08(金) 20:01:05ID:???0882NAME IS NULL
2008/08/08(金) 22:17:18ID:???んだ。別に難しいことを考えることはないだろ?
0883NAME IS NULL
2008/08/08(金) 22:27:53ID:FFfuPyeo>>860 みたいな give up はナシで
0884NAME IS NULL
2008/08/08(金) 22:33:26ID:???フーーン、なんか883が出納帳をつくる仕事を請け負っていて只でやらせられるような気もしないではないが、
まあ、いいか?
とりあえず一ヶ月単位でいいんだよな?まず一月ごとの残高と貸方借方のテーブルが必要なのかな?
0885NAME IS NULL
2008/08/08(金) 22:45:13ID:???IDと年月日と相手先と入金額と出金額と残高あれば出納帳だーーーーーー
入出金は毎日数十件だけで許してやろう
リアルで任意時点での残高見ながら入力できれば実務に十分有用だ
出納帳も出来なけりゃ日本の中小企業財務会計に使えねー
諦めてEXCELでやれってか?
そりゃそうよ
0886NAME IS NULL
2008/08/08(金) 22:49:34ID:???0887NAME IS NULL
2008/08/09(土) 00:46:35ID:???実際弥生会計とか勘定奉行とかPCA会計とかそれなりに名が通ってる会計ソフトは
みんなバックエンドがSQLServerなんだし、なんでAccessの出納帳にこだわるのか
全然ワケわからんわ・・・
0888NAME IS NULL
2008/08/09(土) 04:07:10ID:???0889NAME IS NULL
2008/08/09(土) 07:28:49ID:???評価以前にまともに動かなかったけど。
>リアルで任意時点での残高見ながら入力できれば
Excelのように入力したいのね。やっぱりExcelでやれば?
Accessでやろうとするとえらく面倒なことになりそう。
0890NAME IS NULL
2008/08/09(土) 08:32:04ID:???0891NAME IS NULL
2008/08/09(土) 10:04:23ID:???0892NAME IS NULL
2008/08/09(土) 10:57:14ID:???Excelに似ていると言えば似てる。
ただデータと計算は分けるべきだというRDBの本来の思想に反する。
ちなみにRDBにはデータの追加という考え方はあっても挿入という考え方は無い。
これをしつこく桐ユーザーは突いてくるのだけど悪く言えば本流から外れているだけのこと。
累計も挿入もどうしてもということであればできるけど面倒くさい。
残高知るだけならSQlで選択してからデータ集計かけたほうが早い。
ちんたらちんたら一行づつ累計計算してもしょうがない。
挿入は見せかけの行番号を作ってそれで並び替えれば出来る。
でも面倒な割りにはたいした実益は無い。
0893NAME IS NULL
2008/08/09(土) 11:04:51ID:???JET とか ACE でそれが使えれば、凄ぶる便利になるんだがなぁ
MySQL に移行しようかな
0894NAME IS NULL
2008/08/09(土) 11:12:10ID:???0895NAME IS NULL
2008/08/09(土) 11:21:05ID:???へーーー、MySQLでできるのか?オラクルではできるとは知っていたけど、それは知らなんだ。
おれも移行するかな?JETはいい加減いやになってきたし。
0896NAME IS NULL
2008/08/09(土) 11:37:54ID:???0897NAME IS NULL
2008/08/09(土) 13:36:21ID:???0898NAME IS NULL
2008/08/09(土) 13:54:06ID:???ああ、なるほどって・・・・・・
直前レコード値を足していく関数?
直前レコード値をどうやって求めるんだ?
いや、求められないことはないだろうけど、ものすごく遅くなるような気がする。
0899NAME IS NULL
2008/08/09(土) 13:57:09ID:???0900NAME IS NULL
2008/08/09(土) 14:08:29ID:???累計金額 = 累計金額 + 対象項目
累計 = 累計金額
End Function
---------------------
累計金額 = 0
SQL Update Q_現金出納帳 Set 残高 = 累計(入金 ? 出金) order by 年月日,ID
0901NAME IS NULL
2008/08/09(土) 14:11:07ID:???× SQL Update Q_現金出納帳 Set 残高 = 累計(入金 ? 出金) order by 年月日,ID
○ SQL Update Q_現金出納帳 Set 残高 = 累計(入金 - 出金) order by 年月日,ID
0902NAME IS NULL
2008/08/09(土) 14:44:38ID:???おおお、ありが�dって…Accessじゃ使えねーのかorz
0903NAME IS NULL
2008/08/09(土) 17:15:41ID:???900の妄想言語のなかでだけ使える。
0904NAME IS NULL
2008/08/09(土) 18:00:43ID:???0905NAME IS NULL
2008/08/09(土) 20:35:06ID:???Q_現金出納帳クエリ内で ORDER BY しておけばおK。
0906NAME IS NULL
2008/08/09(土) 22:27:59ID:???全然おKじゃない
MS はUpdateするレコード順を保証してない、DBエンジンが都度最適最速の順番を構成して更新する
Access97 までは密かにOKだったらしいけど、JETもマトモな方向に進化してるから最近はダメ
やっぱ、MySQL
0907NAME IS NULL
2008/08/09(土) 23:04:16ID:???0908NAME IS NULL
2008/08/10(日) 06:30:35ID:???ワロタ
レス数が900を超えています。1000を超えると表示できなくなるよ。