Access使い集合!
■ このスレッドは過去ログ倉庫に格納されています
0001名無しきぼう
NGNGAccess or VB で yyyy/mm/dd hh:mm:ss に変換する方法を
教えて下され!
0412デフォルトの名無しさん
NGNGいや、元勤務先ともパッケージ開発元とも既に縁が切れているので
あとの事はどうでもいいんですが。
ただ、モヤモヤしたものが残って気持ち悪いんですよ。
DBMSに心得有りって人に聞いても最終的には「わからん」で終わって
しまうんで。
想定で良いので「起こりうる事象」を知りたいだけなんですよ。
# 何が起こるかわからんけど問題が噴出しなけりゃOKってことで
# システム組んでいると言うなら、それはそれでいいんですけど。
0413デフォルトの名無しさん
NGNG0414デフォルトの名無しさん
NGNGhttp://www.microsoft.com/JAPAN/support/kb/articles/J070/3/15.asp
これどーよ?具体的に何が起こるか明記されてないところが、以下にもMSっぽいが。
0415デフォルトの名無しさん
NGNGパルプンテ!!
0416デフォルトの名無しさん
NGNGで、たまに半角英数使ってると、勝手に全角に変換されるのは
何とかならんのか(w
0417デフォルトの名無しさん
NGNGおそらく急なDB仕様変更が頻繁におこると想定して作ったんだろ。
平たく言えば、未完成品をつかまされたわけだ。
0418デフォルトの名無しさん
NGNG世の中には10年以上前のテクノロジーで停滞しているエンジニアが
混じっているってことでよろしいですか?
少なくとも約300社は"未完成品"と称す代物を掴まされているわけで。:-P
>>411殿や>>417殿に製作依頼したら良品を納めてくれたのかな?・・・
0419デフォルトの名無しさん
NGNGできてないところがあるのは、日付制御の関係か?思う節が見当たらなくて
困っているのだが・・・
0420デフォルトの名無しさん
NGNG日付制御ってなに?
つーか、やっている処理の内容を書かなくちゃ答えようが無いと思うが。
0421デフォルトの名無しさん
NGNG0422419
NGNGグループ集計させたい項目が5つあって、その中に日付が2つあります。
一つは入力日付で一つは伝票日付みたいな感じで、当然同じ日付のものは
合計して数値を出したいのですが、不思議なことにあるデータ部分は合算
できていて、ある部分は合算してくれない・・・データの記述ミスも探し
問題は無いのだが。
0423デフォルトの名無しさん
NGNG0424419
NGNGFROM KENSADT INNER JOIN MS_KB ON KENSADT.KBCD = MS_KB.KBCD
GROUP BY KENSADT.SEIHINCD, KENSADT.DENPMON, KENSADT.DENPWEK, KENSADT.CHECKDT, MS_KB.KBNM, KENSADT.KBCD,
ORDER BY KENSADT.SEIHINCD, KENSADT.DENPMON, KENSADT.DENPWEK, KENSADT.CHECKDT;
sum(DENPDT)は動作確認でつけています。
0425デフォルトの名無しさん
NGNG0426デフォルトの名無しさん
NGNG0427デフォルトの名無しさん
NGNGこれだけ(>>422 >>424)で>>419さんの思惑が理解できる人は神ですね。
0428デフォルトの名無しさん
NGNGSELECT Sum(KENSADT.DENPDT) AS DENPDTの合計,
KENSADT.SEIHINCD,
KENSADT.DENPMON,
KENSADT.DENPWEK,
KENSADT.CHECKDT,
MS_KB.KBNM,
Sum(KENSADT.UKESU) AS UKESUの合計,
Sum(KENSADT.FAL1) AS FAL1の合計
FROM
KENSADT INNER JOIN MS_KB ON KENSADT.KBCD = MS_KB.KBCD
GROUP BY
KENSADT.SEIHINCD,
KENSADT.DENPMON,
KENSADT.DENPWEK,
KENSADT.CHECKDT,
MS_KB.KBNM,
KENSADT.KBCD,
ORDER BY
KENSADT.SEIHINCD,
KENSADT.DENPMON,
KENSADT.DENPWEK,
KENSADT.CHECKDT;
0429デフォルトの名無しさん
NGNGこれって更新日が4/10だが、最近になって出た記事って事?
0430デフォルトの名無しさん
NGNGこれのどこに日付処理がある?
0431デフォルトの名無しさん
NGNGアクセス使って、Exchangeのパブリックフォルダにメールを投稿する
ツールを作っているんですが、その際に
「指定した名前のフォルダがExchange内に存在するか」
を調べる関数がわかんなくて困っています。
ローカルフォルダに存在するかどうかなら
dir関数とか使えばいいんでしょうけど、Exchange内の存在チェックって
どんな関数使って確かめられるんでしょうか。
0432デフォルトの名無しさん
NGNG「コンボボックスに何も指定されていない」ということを取得するにはどうすればよいのでしょうか?
コンボボックスの値に何も指定されていない場合
>> MsgBox コンボボックス1
とすると Nullの使い方が不正です。というようなエラーが出ます。
それならば・・と
>> If コンボボックス1 <> Null Then
>> MsgBox コンボボックス1
>> End If
とすると、常にMsgBoxが表示されません。(常にIf文の値はNullと判断されているようです??)
環境はWinWP / AccessXPです。
どなたか教えてください
0433デフォルトの名無しさん
NGNGNullの判定は IsNull() 関数で行います
If IsNull( コンボボックス1 ) Then ...
0434デフォルトの名無しさん
NGNGあ、ありがとうございます!!なるのど、そーやってやるのか・・
これで3時間悩みました(>_<)ありがとうございます!!
0435デフォルトの名無しさん
NGNGDENPDT=伝票データ
KEMSADT=検査データ
DENPMON=月伝票
DENPWEK=週伝票
CHECKST=チェックデータ
までは想像できたけど、
UKESU=受け数?
FAL1=不合格?
SEIHINCD=製品CD?
KBCD=???
0436デフォルトの名無しさん
NGNG既に質問した彼はここを見ていないでしょう? 放置、放置。
# しかし振り出しといて姿を現さないのは無責任だよなぁ。。。
# 意思伝達にも難あり。
0437デフォルトの名無しさん
NGNG重箱のスミ突っつくようだけど、評価をするときとか、規定値省略に
頼らない方が後々イイと思うが。
If IsNull(HOGE)=True Then
0438デフォルトの名無しさん
NGNGIsなんたらは関数名から真偽値を返すと予測できるため別にかまわないと思われ。
0439デフォルトの名無しさん
NGNGてゆーかどちらでもいいと思われ。
0440デフォルトの名無しさん
NGNGなんか、感感俺俺みたいでキモチワルイなぁ・・・
0441デフォルトの名無しさん
NGNGあるようなないような気がする
0442デフォルトの名無しさん
NGNGソース希望
0443デフォルトの名無しさん
NGNG日付、時分秒まで入っているんじゃない?
0444デフォルトの名無しさん
NGNG0445デフォルトの名無しさん
NGNGコントロールおよびセクションの最大値は754とある。そしてこれは、
コントロールを削除して再追加した場合でも追加数が754でアウトとなる。
これは、accessがフォームへのコントロールの追加数をカウントしている
ためだと私は思う。
ではフォームも同様に、ヘルプの「データベースのオブジェクトの数 32,768」
ということから、フォームを削除して追加した場合でもその追加の回数が
32,768になったらアウトになるのだろうか?
だれか分かる人いる?
0446デフォルトの名無しさん
NGNGそんなに追加したこと無い
0447デフォルトの名無しさん
NGNG初心者の質問・・
表形式のフォームでフッターに値の合計値を出しているのですが
表形式のフォームってカーソルとかで「レコードを移動」するまで
編集中状態で合計値も変わらないですよね?
カーソルを移動しなくても合計値に値を反映させたいのですが、、
>> Private Sub 値_Change()
>> Me.Recordset.Update
>> End Sub
とすると、「対応するaddNew,Editが必要」といって怒られます。。
ちなみに合計値は
コントロールソースプロパティに
>> =Sum([値])
と指定。。何が悪いんだ!?つーか根本的に間違ってる???・・・
0448デフォルトの名無しさん
NGNGこうしろ
Private Sub 値_Change()
DoCmd.RunCommand acCmdSaveRecord
End Sub
0449デフォルトの名無しさん
NGNGできました!やったー涙出そう・・ありがとうございます
0450デフォルトの名無しさん
NGNGそうですか。そりゃそうだろうな。
要は、データシートビューのサブフォームがありまして、
そのソースになっているクエリのフィールド数・ソース・
名前が動的に変化するのに対応したいのですわいな。
0451デフォルトの名無しさん
NGNGパスワード文字列を隠す為に"*"にするにはどうしたらいいでしょうか?
(よくパスワード入力であるやつです)
ご存知の方、お教え願います。
0452デフォルトの名無しさん
NGNGヘルプを引いてみそ
0453デフォルトの名無しさん
NGNG2000か2002だったら「定型入力の構文と例」の「有効な定型入力の文字」って
ところを見るのだ。(ヘルプな)その一番下
0454451
NGNGお騒がせして済みません^^;
0455デフォルトの名無しさん
NGNGACCESS(VB?)の場合、
”AAA"="aaa"がTRUEになってしまいますよね。
これをちゃんと大文字小文字の判別を行いたいんですが・・・
(検索でいう大文字と小文字の区別)
HELPとか見てもそれらしいものがなく・・・
ご存知の方、よろしくお願いします。
0456山太郎
NGNGOption Compareステートメントを調べてみよう。
0457デフォルトの名無しさん
NGNG0458山太郎
NGNGTransferDatabaseトカ...
他にも、SQL使っても出来るでよ。
0459デフォルトの名無しさん
NGNG一部値を表示しない(#Name??とかウィザード画面に出てきて、実行したら値を表示しない)ものがあります。
なんか、クエリの条件にフォームの値を指定しているとそうなるみたいなのですが・・これってどうして??どうにもなりませんか?
WinXP,AccessXPです
0460デフォルトの名無しさん
NGNGもう一度調べてみ。
0461デフォルトの名無しさん
NGNGD系、find系の嵐で、関数名が日本語・・・
・・・・会社のレベルが知れるぞ(ワラ
0462デフォルトの名無しさん
NGNGインデックスで「重複なし」を指定したフィールドで
重複した値を指定した場合、[X]ボタンだとエラーウインドウを表示してくれるのですが
「OK」ボタンを作成し、「DoCmd.Close」を指定した場合エラーをエラーウインドウを出さず、
何事もなかったようにデータを破棄するようです。
現在ADOで重複チェックをして逃げていますが、[X]同様の動きをさせるにはどうすれば良いのでしょうか??
0463デフォルトの名無しさん
NGNGほんとだ。
ちょいと汚いが、DoCmd.Closeの前に、
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
を入れて、エラートラップしる。
0464デフォルトの名無しさん
NGNGやってみます。ありがとうございます。
今気づいたのですが、「マクロ」の「閉じる」は「X」ボタンと同じ動きをしますね。
マクロ→VBA変換をすればどういうコードになっているのか判るんだけど
なんか、その機能が俺のパソコンにインストールされてないらしく
しかも今手元にAccessのCDがなくてインストールできないときた(>_<)
だれか、マクロの「閉じる」のVBAコード晒してぇぇぇ
0465デフォルトの名無しさん
NGNGヘルプにそう書いてあるYO!
そもそも終了させる時点で足掻いてもはじまらないと思うが。
DoCmd.Closeの前でなんとかしろ。
0466デフォルトの名無しさん
NGNG0467デフォルトの名無しさん
NGNG変更・オートフィルタを出来るようにする方法を教えてください。
PC環境が悪いのでなるべく効率よく…。
0468デフォルトの名無しさん
NGNGDocmd.OpenTable
0469デフォルトの名無しさん
NGNGマクロの 閉じる をVBAに変換してみたら、そのまんま
Docmd.Cloce になったけど。
0470デフォルトの名無しさん
NGNGAccess2000使ってるんですけど、
Access2000形式のmdbがVisualBasic6.0Enterpriseで
認識してくれません…
Dataオブジェクトのdatabasebaneプロパティで指定してもハネられます。
大学のパソコンでも自宅のパソコンでも友人のパソコンでも
できなかったのでハード環境は関係ないと思われます。
あと、いずれもフルインストールの状態です。
ガイシュツかもしれませんが、お願いします。
0471デフォルトの名無しさん
NGNGOutlook Expressからメールを送信したいのですができますか?
Outlook2000、2002では実験して成功はしたのですが、
Outlook Expressから送信する情報が見当たらないので、
できるかできないかだけでも知りたいのですが・・・
>>470
ODBCデータソースとか作成した?
Accessのモジュールにも接続するための記述しなければいけなかったよね
あ〜、今思い出せないなぁ(忘れちゃったので全然違うこと言ってたらスマソ)
接続するとこまでなら
本を見て最初からやればできると思うよん
0472デフォルトの名無しさん
NGNG残念ながらOutlook ExpressはOLEオートメーションに対応していません。
ので無理です。
0473デフォルトの名無しさん
NGNGSP4以上入ってる? どうでもいいけどAccessの質問じゃないよなぁ。
http://www.asia.microsoft.com/japan/msdn/vstudio/downloads/sp/VS6FIXES.asp
0474471
NGNGあらら〜、やっぱり無理でしたか(w
ネットやってたらOutlook Express5以上を使用したメール送信ソフト
があったので、今ならできるようになったのかな、と思ったんだけどな〜(w
Access以外ならできるってことじゃないだろうし、Outlookの間違いだったんだろうか・・・
レスさんくすです^^
0475デフォルトの名無しさん
NGNGAccess97で使ってたモジュールをAccess2002でも使おうと思ってインポートしたんですが、
実行すると変数宣言の部分でエラーが出てはねられてしまうんです。
Dim db As Database
Dim rs As Recordset
Dim tbldef As TableDef
はねられるのはdbとtbldefなんですが、
これってAccess2002で別な宣言に変わったりしたんでしょうか?
宣言の一覧を見るとAccessObjectとか
新しいのが追加されてるみたいだし…。
お時間ございましたら答えて頂けると嬉。
単発質問で申し訳ないんですが(´ω`
0476デフォルトの名無しさん
NGNGVBAの[ツール][参照設定]を見てみ。DAOがチェックされてないと使えないぞ。
漏れも97から2000移行した時にこれで1週間迷ったから。
(おそらくこれが原因だと思うが、ちがう?)
0477475
NGNG難無く通りましたー
俺も今週ずっとこれで時間費やしてました…。
つか、普通わかんねぇよヽ(`Д´)ノ ウワァァン
レクチャーありが�dございます
>>476サソ
0478デフォルトの名無しさん
NGNGBASP21.DLLでも使え。
0479470
NGNGレスありがとうございます!SP5とMDAC2.6日本語版で解決!
ただ、Access97のmdbならJet3.15で参照できたのですが
2000だとJet4.0でないと参照させてくれませんでした。
他のエンジン(?)はまだ試してませんが…
0480デフォルトの名無しさん
NGNG0481デフォルトの名無しさん
NGNGどなたか教えて下され。
フォームに配置したテキストボックスやリストボックスの値を
変数に代入するなりして使おうと思ってるんだけど、
取得する所で毎回「そのコントロールがフォーカスを取得して無いと値を取得できん!」
みたいな感じで弾かれてしまうんです。
これってどうにかして無効化出来ないもんでしょうかね…。
毎回SetFocusして変数に代入して…なんてやってたら
日が暮れちまうよウワァァン
お時間があったらアドバイスおながいします。
0482デフォルトの名無しさん
NGNG0483デフォルトの名無しさん
NGNGこれが正解だが、関数作ったことある?って聞いてみたい。
0484481
NGNGそれはOKです。
ただ、その.valueだったり.textを取得しようとすると、
前述した「フォーカスを取得してねーぞゴルァ」となってしまうのです。
0485381
NGNGてっきり.valueを指定したものだと思ってました。
改善前>>
Dim strOmaemona As String
Me.tbxMemberID.SetFocus
strOmaemona = Me.tbxMemberID.Text
Call MsgBox("あなたのメンバーコードは" & strOmaemona & "です。",vbInformation,"(´∀`)")
改善後>>
Call MsgBox("あなたのメンバーコードは" & Me.tbxMemberID.Value & "です。",vbInformation,"(´∀`)")
つか疲れで返事があいまいになってしまって申し訳ないです。
今日はもう回線切って帰ることにします…。
くだらない質問に答えて下さってありがとうございました。鍛錬します。
>>483さん
関数は作ったことありますよ。
GUIまわりの処理はスタイルシートのように殆ど関数でやってます。
逆に言えば関数に関してはその位のレベルですД
0486481
NGNG;´Д`)ノ
0487デフォルトの名無しさん
NGNG0488デフォルトの名無しさん
NGNG色々、調べましたがいまいち画テンがいきません。なぜ遅いのか、知りたいです。
mdbをAccess2000で変換し、connection string をjet.oledb.3.51から4.0にかえて、activex
とか変えて、プログラムに結合しなおしたが処理が3.51に比べて
10倍以上かかるようになってしまった。そんなに4.0って遅いの。
ちなみに自分はAcess95をAccess2000にアップして使ってます。
ソースは以下のようですがとくに問題無いとおもうんだけど。
だれか教えてください。
Private Sub subTransCostDwn()
Dim SP(12)
filenum = FreeFile
Open gListpath & "\rxalltrncost.csv" For Input As #filenum
SQL = "delete * from TransCost "
ADO_Connection.Execute SQL, , adCmdText
Do Until EOF(filenum) = True
Input #filenum, d0, d1, d2, _
, SP(1), SP(2), SP(3), SP(4), SP(5), SP(6), SP(7), SP(8), SP(9), SP(10), SP(11), SP(12)
SQL = "select * from TransCost where dealyear = " & Format(wAcntYear)
SQL = SQL & " and transcd = '" & d2 & "' and lensnm = '" & d4 & "'"
Set rs = New ADODB.Recordset
rs.Open SQL, ADO_Connection, adOpenStatic, adLockOptimistic
If rs.RecordCount = 0 Then
rs.AddNew
rs!dealyear = d1
rs!transCd = d2
End If
For i = 1 To 12
j = i + 3
If j > 12 Then
j = j - 12
End If
rs.Fields("shpqty" & Format(j)).Value = SP(i) + rs.Fields("shpqty" & Format(j)).Value
Next
rs.Update
rs.Close
Loop
Close #filenum
End Sub
0489デフォルトの名無しさん
NGNG0490デフォルトの名無しさん
NGNG色々調べてるけど、よかったら教えて。
0491デフォルトの名無しさん
NGNG>Set rs = New ADODB.Recordset
とりあえず、これをDo Loopの前においてみないか?
1回ループするごとにNewするのは明らかに効率悪すぎ。
で、ループ終わったらちゃんとSet rs = Nothing もしておけよ。
0492デフォルトの名無しさん
NGNGそんなに関係はないようです。
ゆっくり寝てから、色々実験したらAccess95で作ったmdbをACCESS2000で
変換すると処理が遅くなることを見つけました。完全に同じ物には
やはりならないようだ。ほっとした。休養は大事だね、
0493山太郎
NGNG0494デフォルトの名無しさん
NGNGうーん、あとは変数の宣言(型も)を明示的にやってるか、くらいだよな。
でもあんまり変わらないかも。
0495デフォルトの名無しさん
NGNG達しました。型宣言とかいろいろいじってみましたがあんまりかわりません。
レコードの項目数が多いほどおそくなります。
理由はわかりません。access97で3.51を使うことにしました。
oledbの早いのが見つかったら、移行することにしました。
ただ、今まで問題視した人もいただろうし。自分だけじゃないようなきもするし。
0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNG実際どうなん?
0498デフォルトの名無しさん
NGNG前にVBマガジンで検証やってたが、そのときは
DAOのほうが速かったはず。
0500デフォルトの名無しさん
NGNGADO=遅いけど汎用性あり のトレードオフだと思ふ
0501デフォルトの名無しさん
NGNG速いのがよければSQL Server(しかしひどいネーミングだね)使えと。
しょせんアクセスはフロントエンドだから、速さはいらんと。
0502デフォルトの名無しさん
NGNG実際に速度測ってみたけど、ADO、DAO云々よか、
491 の指摘通り、New をLoopから外したら劇的に早くなったんだけど。
MSDEもある今、AccessだけでDBアプリ組むことに利点は感じられないし、
ADOXでごまかしながら、DAOのオブジェクト郡をカバーできると思うんで、
DAOにこだわる必要はないのでは?
Accessのみなら、断然DAOに決まってるけどね。使いやすい。他にも
RDOやらODBCDirectやら、オブジェクトがたくさんあって混乱するやつは
以下のリンクが参考にはなると思う。
http://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9904/msdb
0503デフォルトの名無しさん
NGNGたいした手間じゃないし、どっちでもいいような
気がするけどね。上位ラッパー作っちゃってもいいし。
0504デフォルトの名無しさん
NGNG初めからデータの格納はMSDE、データの加工(?)は
Access(Form & Report)でやるほうが、のちのち
恩恵があると思うがどうよ?
0505デフォルトの名無しさん
NGNG将来がないからねえ。。。
0506デフォルトの名無しさん
NGNGadodb.recordsetをnewするのを Do Loop の前にもってくるのも
やってみましたが、自分の環境では処理速度はあまりかわりませんでした。
googleで検索しましたら、以下のページをみつけました。
http://homepage1.nifty.com/tsware/labo/labo_22.htm
やはり、oledb.4.0はoledb.3.51に比べて遅いみたいです。この速度では
自分のプログラムは稼動できません。なにか、代替方法を考えるか
oracleかなにかを使うしかなさそうです。しばらく、今のプログラムを
いじらずに3.51のままにしたほうが良いみたいです。
しかし、microsoft、一体全体・・・・・ あとは言いたくないです。
0507デフォルトの名無しさん
NGNG今二分木構造のデータを扱っているのですが、
(親ID、子ID、左右種別)
を組にして内部に持とうとしています。いろいろ
探してもあまり参考になるものがみあたらない
のですが、こういうのに定石ってありますか?
#RDBMSなんて使うなっていう話もあるが。
上記のような形でデータを持っているとすると、
それをACCESSのVBAでツリービューとして表
示することもできるのでしょうか?
#Grape cityなんかのツールを使えばよさげ
#なのですが、標準では無理?
0508デフォルトの名無しさん
NGNGAccessデータを2分木表現するのも、Treeに大量のデータ表示するのも激しく
自然の理に反してる気がするんですが。
万が一やるならMS TreeViewは再配布可能だが配付条件知らんので調べてください。
0509デフォルトの名無しさん
NGNGありがとうございます。
私もACCESSでこの手のデータを取り扱う
のも、ましてや視覚表現するのもあまり気は
進みまないのですが、お客様のご要望(^^;
なので、検討だけはしているところです。
#木構造の表示はとりあえず勘弁してとは
#言ってありますが……。
0510デフォルトの名無しさん
NGNGWin32API呼び出して、自力描画してやれば?
0511デフォルトの名無しさん
NGNGめいっぱい値切られているので、
手のほうもめいっぱい抜きたい
というのが本音(^^;
■ このスレッドは過去ログ倉庫に格納されています