[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 17:50 / Filesize : 273 KB / Number-of Response : 1044
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Access VBA 質問スレ Part1



1 名前:デフォルトの名無しさん mailto:sage [2012/02/06(月) 22:53:46.88 .net]
AccessのVBAに関する質問スレです

★1 質問テンプレ(雛形)は用意しませんが、OSとAccessのバージョンは必ず書きましょう。

★2 AccessのVBA以外の部分に関する質問はNGです。
   但し、VBA無しでも出来ることだが、あえてVBAでやりたいって物に関してはOK。

★3 AccessのVBE(Visual Basic Editor)を使うとしても、VBAの分野以外に関してはスレ違いです。

 VBAとは、『Visual Basic for Application』の略で
  Application
  ├Workbooks
  |└Workbook
  |  ├Worksheets
  |  |└Worksheet
 というApplication以下のオブジェクトを、VB言語で操作するものを指します。
 例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
 セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。

★4 レベルはどうあれ、ここはプログラマ用の板スレです。プログラマとは、自分でプログラムを組み、
   コードを書く人の事なので、自分でやるきは全く無く、丸投げしようって人はお断りです。
   ヒントを貰えばあとは自力でなんとかしますって人のみどうぞ。

★5 わからなければとりあえず「マクロの記録」(Alt, T, M, R)

関連スレ
Excel VBA 質問スレ Part23
toro.2ch.net/test/read.cgi/tech/1327763113/l50


802 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 10:03:04.42 ID:Qpg00Afa.net]
view

803 名前:デフォルトの名無しさん mailto:sage [2017/07/05(水) 17:39:45.65 ID:XEX8l1it.net]
win7x64-office2016x86環境下のみで再現するらしい
xls出力からコペピ張り付け罫線操作等々やってる処理で張り付したシートがズレル不具合発生
ネット調べても一切情報でてこなくて期待込めてofficeアプデしたら実行時エラー1401
空白でないセルが云々カンヌん泣きたい

804 名前:デフォルトの名無しさん mailto:sage [2017/07/20(木) 13:40:54.23 ID:AoFZnXDG.net]
自己レス
office365BPの2016でのみ再現
別シートの複数列コピー選択状態でAAセレクトインサートやろうとするとコピーペになる
セレクト前に空白セル1コピーで回避

805 名前:デフォルトの名無しさん [2017/07/21(金) 16:32:01.78 ID:28Rvh+yS.net]
クエリを実行したときに全件レコードを取得できてないのに検索結果画面が開くときってない?
▷|←このボタン押すと検索結果の件数が出てくるんだけど、押してから出るまでに時間がかかるってことは全件レコード取得できてないってことだよね

806 名前:デフォルトの名無しさん [2017/07/21(金) 16:32:40.55 ID:28Rvh+yS.net]
この現象を何なのか教えてほしい

807 名前:デフォルトの名無しさん [2017/07/21(金) 17:16:56.11 ID:PYWMukgm.net]
表示した後でも数字が勝手に増えるってこと?

808 名前:デフォルトの名無しさん [2017/07/21(金) 17:49:46.53 ID:28Rvh+yS.net]
>>775
いや、クエリのSQLをorderby句を書かなかったとき、全件検索する前に検索結果画面が開く

809 名前:デフォルトの名無しさん [2017/07/21(金) 17:55:49.86 ID:28Rvh+yS.net]
@orderby書いてクエリを実行する→1/2500みたいに結果件数がでる
Aorderby書かないでクエリを実行する→1 結果件数が上記と違いでない
▷|このボタンおすと上記と同じように1/2500となる

@の実行時間10秒
Aの実行時間1秒 ただし▷|ボタン押すと10秒くらいかかる

810 名前:デフォルトの名無しさん mailto:sage [2017/07/21(金) 21:47:28.80 ID:GPYD2Qke.net]
なんかオプションに無かったかな。最初の表示するぶんだけ読み込んでとりあえず見せておいて裏で続きを読むって機能をオンに、みたいな。



811 名前:デフォルトの名無しさん [2017/07/24(月) 04:02:58.29 ID:UL92A3MD.net]
>>778
あれば教えてほしいですね

812 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 15:06:22.21 ID:BdqEvISL.net]
あった気がする

813 名前:デフォルトの名無しさん [2017/07/25(火) 22:56:57.38 ID:EiidKUEl.net]
会社テーブル
id  会社名  ・・・
1.  A社
2.  B社
3.  C社
4.  B社

職員テーブル
name  会社id  ・・・
山田.  1
鈴木.  1
飯田.  2
野口.  3
岡本.  4

一対多のリレーションがありまして
会社マスターにダブり登録されている場合(この場合B社)
楽に修正する方法はないでしょうか

250社くらいダブリやトリプルしていて困っております

814 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 07:07:59.14 ID:wP3Z6w42.net]
名寄せマスター
名寄せID 会社ID 新会社ID
1      2     2
1      4     2

名寄せマスターと職員テーブルをJOINしてUPDATE
というのはどうですか?

815 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 07:12:28.72 ID:XR9PfPcp.net]
その会社マスターがおかしいのを放置するのか修正するのかで違ってくるよね

816 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 16:42:27.76 ID:Pvb1ow9Q.net]
合併したんかね

817 名前:デフォルトの名無しさん [2017/07/27(木) 20:31:02.25 ID:6NlFfxVd.net]
>>782
なるほど
重複クエリに各会社の最小IDを連結して名寄せテーブルを作成し
JOINしてUPDATEしました

名寄せテーブルを作成しないでクエリだけでUPDATEまでもっていくのは
この場合駄目なんですね はじめ理解できず悩みました

>>785
JOINしたAccessのデータをExcelに吐き出し各職場に配布、各々で修正追加。
一年以上たって回収しAccessに貼り付けられて今の状態です。
正確には職員テーブルじゃなくて顧客テーブルですね

818 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 20:40:42.96 ID:DKmshiqQ.net]
なあんだ、Excelの段階で調整しちゃえば余計な苦労しなくて済んだのに

819 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:53:22.72 ID:FQn2qD+M.net]
初心者なんで教えて欲しいんだけど、フォームの次へボタン押した時に次のレコードが
表示されないのだがどうしたらいいか教えて欲しい。バージョンは2013
Private Sub Form_Load()
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("名簿テーブル",dbOpenTable)
Me!名前テキスト = rs!名前
Me!カナテキスト = rs!よみがな
End Sub
Private Sub 次へボタン_Click()
DoCmd.GoToRecord , , acNext
End Sub

820 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:21:37.22 ID:16hy4odR.net]
フォームのソースが名簿テーブルならフォーム読み込み時の名前とよみがなセットするコードは無くても先頭レコードが表示される。
フォームのソースを確認しましょう。
非連結フォームならボタン押した時に次のレコードを読み込んで名前とよみがなセットするコードが必要だけど、キーが不明なので何ともアドバイスできません。
長々と書いたがわかりにくいね、すまん。



821 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 22:57:21.98 ID:GleVclNw.net]
>>788
ありがと

822 名前:デフォルトの名無しさん [2017/08/28(月) 11:23:53.36 ID:XLKoN0Ik.net]
神さま教えてください。

ADODB.Commandでのインサートが失敗しても
エラーが出ないのですが、エラーハンドリングの
方法を教えてください。

よろしくお願いします。

823 名前:デフォルトの名無しさん mailto:sage [2017/08/28(月) 21:14:51.01 ID:6Oo2q0tu.net]
on error

824 名前:デフォルトの名無しさん mailto:sage [2017/08/29(火) 08:37:26.00 ID:SOL0jppX.net]
むしろonerrorしかないと思うが、他にやり方あんの?

825 名前:デフォルトの名無しさん [2017/08/29(火) 09:14:08.50 ID:WIE1SoZ9.net]
レスありがとうございます。
ON ERROR は当然やってまして
その上での質問です。

826 名前:デフォルトの名無しさん [2017/08/29(火) 21:25:59.80 ID:BqQa7G9t.net]
失敗ってなんだ。
戻り値を取ればAffectedRowsになってるだろうから
それで判断するか追加されたはずの行数をあらためSELECTするとか

827 名前:デフォルトの名無しさん mailto:sage [2017/11/15(水) 11:14:08.03 ID:PQCfnSyv.net]
>>787
そのコードはFormがLoadされた時に名簿テーブルを開いてRecordsetに格納し、名前とカナをテキストボックスに入れるというものと次へボタンを押した時にFormがLoadされた時の処理とは全く関係なく次のレコ−ドに移動するもの。

ところで次へボタンでの次のレコ−ドってのは何のデ−タなんだい?
改めて言うけどFormがLoadされた時の処理なんて知らないからとAccess君は言っている。

要は、DoCmd.GotoRecordってのはデータとオブジェクトが連結されていることが想定されていて、連結されているから既にオブジェクトにレコードが表示されているわけだが、それに対して次のレコ−ドと言ってる。

一方、FormのLoad時の処理は連結関係無くデ−タを自ら取ってくるもの。
こちらのやり方を取るならRecordsetをPublic変数にするかForm内でのPrivate変数として保持しておき、他のイベント(次へボタンクリックのような)で使いまわすというやり方になる。

828 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 10:10:39.42 ID:as8vu/t7.net]
整数型、重複なしの列を書き換えるときはどうしてますか?たとえば、
2 1
3 → 2
1 3
にしたいときに2→1の時点でエラーが出ると思うので回避策を検討しています。
一時的に重複なしを解除して、終了時点で重複なしへ戻す方法や、一旦一時的に重複しない数字に書き換えて、それから再度書き換えるべきか悩んでいます。
なにか一般的な方法はございますか?

829 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 10:11:55.37 ID:as8vu/t7.net]
あれ、スペースがおかしくなっている。
列を書き直すときにたとえば
2→1
3→2
1→3
としたいのです。具体的にはidを振り直す作業です。

830 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 12:23:57.98 ID:TDbCG25M.net]
レンジのソートでよくね?
もしくはフィルタ付けて並び替えてからフィルタ解除とか



831 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 12:27:01.49 ID:taN4cymO.net]
idには触らないで、整数型のフィールドを追加します。そのフィールドでやりたい放題やります。

832 名前: mailto:sage [2017/11/22(水) 12:46:48.77 ID:MjBhGus4.net]
どうしてもやりたけりゃ、swapしていきゃいいんじゃないの?
最初は2→1にしたいから、
1 3 2に。
次は3を2にして
1 2 3
に。
入れ替え自体は、UPDATE xxx SET unique = CASE WNEN unique=1 THEN 2 WHEN unique=2 THEN 1 ELSE unique END
でCASEで書いちゃえば入れ替えられる。
1クエリ内で完結したら、制約はかからない。

833 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 13:21:54.54 ID:as8vu/t7.net]
>>798
済みません。AccessにもRangeというのがあるのですか?あと、フィルターの使い方も御教示をお願い致します。
>>799
それが、当該idを参照しているテーブルが20個以上あるので、別のコラムという訳にはいかないのです。
参照先を変更するとなるとクエリやらVBAのコードやらを書き換えないといけないので大変だと思います。
>>800
バブルソートみたいなものですね。レコード数が3万ありますので、何となく時間がかかりそうな気がしますが、試してみます。

今はソート後にDMax+iのループで重複しないidへ書き換えて、書き換えが終わってからDMaxを引くという2段階の作業をしています。
(参照元のidも2段階の書き換えをしています。))
我ながらドン臭いやり方だと思うので、もう少しスマートな方法があれば御教示をお願いいたします。

834 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 15:00:03.20 ID:t4MJ2LxN.net]
その列自体を書き換えちゃうの?
じゃあ、今入ってる値は必要無いってこと?
だったら削除して連番振り直したら?

835 名前:デフォルトの名無しさん [2017/11/22(水) 15:02:12.97 ID:TZAtmSaI.net]
今の時代なにが楽しくてAccessなんてやるんだ

836 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 15:50:01.09 ID:as8vu/t7.net]
>>802
idだから主キーです。Nullは不可だと思います。

837 名前: mailto:sage [2017/11/22(水) 16:48:33.62 ID:QspO8Ati.net]
>>801
もう組み合わせがわかってて、ほんとに単発で1回きりなら、
エクセルで対比表作って、CASEの列とWHENの列足してコピペでクエリ作っても良いけど、全く健全な保守ではない。
2 1
3 2
1 3
に列追加してオートフィルで

WHEN unique= 2 then 1
WHEN unique= 3 then 2
WHEN unique= 1 then 3
ってして、
unique= CASE

ELSE UNIQUE endで挟んで、コピペでテキストエディタに貼り付けて、テキストエディタからコピペでAccessに貼り付けるやつ。

しょっちゅうやるならテーブル見直そう。

838 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 16:57:08.62 ID:QHiNhW2y.net]
>>804
方法はいくらでもあると思うけど。
Field追加して連番を振って、追加したFieldを主キーに変更して元の主キーのFieldを削除するとか。
試してないからできるか分からんけど。

そんなことせずに振りなおすならOrderByでId順にして小さい値から振りなおしたら?

839 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 16:59:54.83 ID:QHiNhW2y.net]
ただ、主キーを振りなおす意味が分からない。
そういうもんじゃ無いと思うし、テーブルの連結によっては滅茶苦茶になるのは分かってるよね。

840 名前: mailto:sage [2017/11/22(水) 17:57:43.64 ID:QspO8Ati.net]
主キー振り直すのは、やむを得ずやるのはそのアプリのライフタイムに何発かあると思う。
業務系だと、「スキーマ変えるな」「デカいトランザクションはるな」「一時テーブルすら作るな」とか無茶苦茶言いよることもある。
でも、しょっちゅうやるならホントに設計考えたほうが良い。



841 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 18:29:23.78 ID:2YVJuPMl.net]
別に列作ってそっち主キーにすれば?

842 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 23:10:16.27 ID:as8vu/t7.net]
>>806
>>そんなことせずに振りなおすならOrderByでId順にして小さい値から振りなおしたら?
そんなことが出来るのですか?DAOもADOも1行ずつしかupdate出来ないから、重複データーが発生してしまって出来ないのですが…
>>807
ワークテーブルまで含めて数えなおしたら、35個のテーブルで件のidを使用していました。なので35個のテーブルに対して変更を行わないといけませんね。

843 名前:デフォルトの名無しさん mailto:sage [2017/11/22(水) 23:11:54.97 ID:as8vu/t7.net]
>>809
それで解決するなら簡単ですね。やってみたいですね。
元の列の属性がすべて引き継がれるならいいですね。試してみます。

844 名前:デフォルトの名無しさん mailto:sage [2017/11/23(木) 09:57:12.17 ID:wkO+ZdSN.net]
主キーの役割はレコードをユニークにすることだろ
並べ替えが必要ならそのための項目を別に用意するわ

作業量を問題にしてる

845 名前:けど
無茶な運用は後に響くよ
分かり易さを優先すべきだと思うわ
[]
[ここ壊れてます]

846 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 12:10:31.02 ID:fRZqdK5G.net]
主キーを解除して、重複可にして連番を書き込みました。その後に元に戻しました。変更前後の番号を配列に書き込んでおいて、その配列の値から関連するテーブル全部において置換作業を行うことにしました。
idが2万5000レコード、関連するテーブルのレコードが全部で100万近いのですが、2万5000の置換を100万レコードに対して行うので時間がかかりそうな気がしています。どのくらい時間がかかるのか計算する方法がありますかね?

847 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 12:21:50.25 ID:Q2HEJk5l.net]
accessにSQLコストを計算する機能はないよ

848 名前:デフォルトの名無しさん mailto:sage [2017/11/24(金) 19:17:11.31 ID:fRZqdK5G.net]
主キーの削除をVBAでやろうとしているんだけど、メソッドが見つからない。SQLでやるしかないのかな?
下を読むとdeleteメソッドはダメみたいだし。
https://msdn.microsoft.com/ja-jp/library/office/ff197351.aspx
>>Deleteメソッドは、インデックスオブジェクトが新しいと、データベースに追加されていない場合にのみサポートします。

849 名前:デフォルトの名無しさん mailto:sage [2017/11/25(土) 10:30:03.03 ID:eU9hnSW+.net]
無理矢理面倒臭い事をしているようにしか思えない
まぁ人の話を聞く気が無いみたいだし
好きに調べてやればええよ

850 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 17:21:43.17 ID:twASlFZz.net]
SQLであっさり出来たわ。後は置換をどうするかだな。関連するテーブル全部を置換できればすべて解決するけど、何を使うかだな。
SQLは遅いんだっけ?レコードセットでループ回す方が速いと読んだ気がする。



851 名前:デフォルトの名無しさん mailto:sage [2017/11/27(月) 22:26:05.40 ID:HF1f2kGW.net]
>>817
普通に考えればSQLの方が速いに決まってると思ってたが。
遅いとしたらその文書いた奴が悪いという印象。

ま、DB系については大したレベルにないから俺が間違ってるかも。

852 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 05:38:20.27 ID:GeGdCCsE.net]
業務用ソフトのテーブルを眺めていたら、テキスト型のフィールドがあって、256桁の数字が羅列してあった
様々な設定を指定された桁に格納しているようですが、このようなデーター保存方法は一般的なんでしょうか?
他の言語でもあるのでしょうか?

853 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 05:58:01.76 ID:Brt1t867.net]
>>819
あるんじゃないの?としか。どんなテーブルとか、フィールドの名前とか、なんかヒントはないですか? 様々な設定も謎が深まるだけですね。

854 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 09:43:49.19 ID:GeGdCCsE.net]
たとえばあるフォームAのオプションボタンの値を98桁に書き込む、フォームBのチェックボックスの値は例えばCstr(Abs(True)))でstringへ変換して105桁に書き込むとかそんな感じです。
合理的な気もするのですが、こういう方法は検索しても見つからないので一般的なのか、特殊なアイデアなのか知りたくなりまして。

855 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 11:59:57.14 ID:vHFzkUKA.net]
すくなくともRDBを使う上ではやるなって言われてるやり方

固定長ファイルにデータ保存してるようなシステムなら結構あったけどね

856 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 16:08:53.51 ID:GeGdCCsE.net]
>>822
そうなんですか。面白そうな話しなので調べてみようと思います。その手法はどういう名称なんですか?もしくは検索ワードを御教示頂けましたら幸いです。

857 名前: mailto:sage [2017/11/28(火) 18:29:06.23 ID:i1R8M5pm.net]
RPG区分列とかじゃないの?古い呼び方だけど。
酷すぎてだれも触りたくないやつ。
RDBに移すような事があったら、末期には照合順序をbinaryにするしか無くなったりすごく苦しむから辞めた方がいい。
メリットらしいメリット無い。LIKE

858 名前:で雑に'[A-C]__1_2'みたいにSELECTできることぐらい。 []
[ここ壊れてます]

859 名前:デフォルトの名無しさん mailto:sage [2017/11/28(火) 18:44:14.15 ID:GeGdCCsE.net]
残念ながら、ググっても何もヒットしません。
なにかヒントをお願い出来ますか?

860 名前:デフォルトの名無しさん mailto:sage [2017/12/01(金) 16:18:17.01 ID:xc+Vk5Dr.net]
RPGとRDBで検索したら関係ありそうなのがいくつかヒットしたけど。

検索能力は俺の方が上みたいだな。



861 名前:デフォルトの名無しさん mailto:sage [2017/12/02(土) 14:50:26.76 ID:EvURnJTn.net]
固定長ファイルでぐぐったら、先頭に固定長データファイルとはっていうサイトがでたけど
なにでどうググったんだか

862 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 10:19:55.17 ID:eu/J6Nzp.net]
皆様、御指導、御鞭撻ありがとうございます。
COBOLでよく使う手法だったんですね。
件のmdbはコボラーが設計したんですかね。

863 名前:デフォルトの名無しさん mailto:sage [2017/12/04(月) 23:04:21.85 ID:HIES1UEg.net]
言語の問題じゃ無いと思うが

864 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 01:17:27.21 ID:jk/z017d.net]
そうなんですか。accessの本には全く載っていないでのすが、RDBMSの世界ではごく一般的な手法なんですか

865 名前:デフォルトの名無しさん [2017/12/05(火) 13:50:48.83 ID:JFWc1rHJ.net]
ISAM

866 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 14:44:30.03 ID:LtpZx+mu.net]
>>830
>>822

867 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 16:01:26.32 ID:jk/z017d.net]
言語の問題ではない
しかしRDBMSではやってはいけない
よくわからないけど昔のデーターベースの本を読んでみますわ
暇つぶしにちょうどいいわ

868 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 17:17:16.01 ID:Jckjy/ZT.net]
自分たちが使うデータをどういった構造で保持するかは各自で考えて構わない
ただRDBに入れるのであれば、やってはいけなくもないけど、おすすめはしない、という話では?
RDBならテーブル・フィールド分けてデータもコードも見やすくできるのに、そうしないのはもったいないというかなんというか

869 名前:デフォルトの名無しさん mailto:sage [2017/12/05(火) 19:05:27.76 ID:IwqbiEq4.net]
結局何の解答にもなってないw

870 名前:名無し mailto:sage [2017/12/06(水) 08:23:07.59 ID:qK37T0GP.net]
データベースの列が増やせない何かがあった。
開発者の気まぐれ。手抜き。
従来の固定長ファイルと1:1の情報を保持したかった。
とかね。。。
こっちの業界じゃ拡張DM形式なんて固定長ファイルが普通にやり取りされてて、桁数制限とかが厳しいけど、容量の割に情報量が多いし古いソフトの互換性があるとかで100年以上生きると思うわ。
でも固定長ファイルの文字列をmdbに格納するのは正気とは思えない。データベースのメリット全部殺してるじゃん



871 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 08:50:38.97 ID:3RgxoH/J.net]
固定長レコードw化石乙ww

872 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 09:56:13.57 ID:+yD4mhv+.net]
郵便とのやり取りは今でも固定長フィールド使てんじゃね
さすがに今はないか、フロッピーとか

873 名前:デフォルトの名無しさん mailto:sage [2017/12/06(水) 11:12:29.56 ID:dYt4FwS2.net]
未だに固定長を扱う事はありますが、設計済みDBに展開して処理していますよ

874 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 05:51:08.35 ID:opi4zWAm.net]
固定長のEDI、増えたりしないだろうけどいつまでも残るんだろなあ。csvやtsvをメール添付で良いのにって思う。

875 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 12:12:58.82 ID:NfkoL/Di.net]
固定長の方がパースが軽いからなぁ
あといつまでもなくならないレガシな環境とかな
処理系そのものは変更されてもIO部分の仕様変更はなかなかやらない

876 名前:デフォルトの名無しさん mailto:sage [2017/12/07(木) 12:15:15.31 ID:YN66KLn ]
[ここ壊れてます]

877 名前:O.net mailto: 今どき固定長レコードなんて使ってるのに前向きな理由なんて無いよ []
[ここ壊れてます]

878 名前:名無し mailto:sage [2017/12/07(木) 17:45:46.41 ID:d4TqII+f.net]
>>840
同じ拡張子なのに何十種類もバリエーションのある欠陥フォーマットを使うのはやめてくれ

879 名前:デフォルトの名無しさん mailto:sage [2018/02/05(月) 10:45:37.49 ID:e967XxUr.net]
アクセス始めて触る初心者です。
テキストボックスが複数含まれたワードファイルが5000個ぐらいあります
各テキストボックスからいろんな項目を取得するとして、1ファイルあたり30項目ぐらい
つまり5000個のファイル*30項目=15,000項目
これをアクセスで処理していこうと思ってるんですが、アクセスはこの程度さくさく処理できるものでしょうか
目的は、ワードファイルが多すぎて邪魔なんで全部削除したい。必要に応じて元のファイルと同じものを再現できるようにするため、必要な情報をアクセスのデータベースに保存しておくことです
必要なファイルを再現できるように検索機能と再現機能をもったVBAマクロを組むつもりです
最初エクセルでやろうとも思ったのですが、さすがに万単位で今後も増える可能性が高いため
アクセスかな?と思ったのですが、どうでしょう

880 名前:デフォルトの名無しさん mailto:sage [2018/02/05(月) 13:37:19.07 ID:KJpDTktT.net]
>>844
初めて触る様な状態なら無理だから、諦めた方がいいですよ



881 名前:デフォルトの名無しさん mailto:sage [2018/02/05(月) 13:53:17.30 ID:e967XxUr.net]
>>845
アクセスは初めてだけどエクセルVBAはそこそこ経験あります
エクセルVBAでなら自分で組める範疇ですね

すでにアクセスで途中までマクロは組んであります
同一フォルダ内にテスト用に作成してあるワードファイルを順次開いてすべてのテキストボックスの値、位置関連の数値を
Debug.Printで出力後、ワードファイルを閉じる
ここまでうまくいってるんであとはアクセスの基本機能理解すればそう困難ではないでしょう
ざっとみたところ、この用途で使う限りではそう複雑なものでもないようですし。

質問の内容はアクセスでやる利益があるかどうかという点ですね
まぁ組めばわかるんですけどね

882 名前:デフォルトの名無しさん mailto:sage [2018/02/05(月) 20:59:27.31 ID:+YlQ+DNK.net]
>>846
エクセルのテーブルに格納したらアクセスにインポートするのが良いんじゃない?
エクセルのままでも良いと思うけど、

883 名前:デフォルトの名無しさん mailto:sage [2018/02/06(火) 08:18:15.16 ID:YHjH5DQb.net]
>>847
それいいですね
やってみます

884 名前:デフォルトの名無しさん mailto:sage [2018/02/06(火) 14:52:40.80 ID:Y79w2nNG.net]
貴乃花親方にしろ有賀さつきにしろ
やはり「語らない」ことが年末から今年にかけてのポイントだな
逆に語っている方が何かと物議を醸しているし

885 名前:デフォルトの名無しさん mailto:sage [2018/02/06(火) 14:53:16.21 ID:Y79w2nNG.net]
ミスった
すまん

886 名前:デフォルトの名無しさん mailto:sage [2018/02/07(水) 11:19:44.29 ID:mhmm9auu.net]
医療過誤?

887 名前:デフォルトの名無しさん [2018/04/14(土) 12:06:32.62 ID:bV7+SAsd.net]
すみません質問させてください。

Private Sub Form_Load()
  Me.TimerInterval = 1000
End Sub

Sub Form_Timer()
  Static intShowPicture As Integer
  If intShowPicture Then
    Me.btnPicture.Picture = "C:\taiyo.jpg"
  Else
    Me!btnPicture.Picture = ""
  End If
  intShowPicture = Not intShowPicture
End Sub

このコードは何をしているのでしょうか?
ご回答よろしくお願いします。

888 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 12:24:03.37 ID:2RkkR2xg.net]
一秒毎に画像を出したり引っ込めたり

889 名前:853 mailto:sage [2018/04/14(土) 12:53:27.07 ID:bV7+SAsd.net]
ご回答ありがとう御座います。
イメージはなんとなく掴めたのですが、
この場合のintShowPictureには何が格納されているのでしょうか?
もしくはBoolean型なのでしょうか?

890 名前:デフォルトの名無しさん [2018/04/14(土) 16:08:38.27 ID:1T8oabCl.net]
Static intShowPicture As Boolean
にして試してみろよ



891 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 19:25:20.18 ID:cGW/rI9o.net]
VBAには暗黙の変換ってのがあるから
IntegerをBooleanに暗黙的に変換して評価してる

まあ、あまり良いコードじゃないな

892 名前:851,853 mailto:sage [2018/04/14(土) 21:39:02.03 ID:criYFAGW.net]
>>853さん
試しに、フォームと画像を用意して作ったら、点滅しました!
>>855さん
この文でも点滅しました!
>>856さん
Falseが0でTrueが-1なのですね!

ご回答ありがとうございました。
解決しました!

893 名前:デフォルトの名無しさん [2018/04/15(日) 10:38:49.74 ID:E1b18XLI.net]
>Falseが0でTrueが-1なのですね!

そうだっけ?

894 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 12:40:33.57 ID:VXOW+WoG.net]
Access で画像を点滅する?

そんなの普通は、JavaScript, jQuery とかだろ

895 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 22:05:01.30 ID:4uH7KTiu.net]
ここは Access の質問スレですよ

896 名前:デフォルトの名無しさん [2018/04/21(土) 00:22:50.08 ID:IpoNn3EX.net]
10万件以上の大量レコードを追加するインサート処理をクエリを作成してDocmd.OpenQueryでやっているが時間が1分以上かかる
この処理をモジュールにADO、もしくはDAOでインサート処理を記述したら、Docmd.OpenQueryより早くなるかな?

897 名前:デフォルトの名無しさん [2018/04/21(土) 12:05:09.74 ID:M/Q9a6+d.net]
VBAで書くと数倍遅くなるんじゃね?
Cからなら速いかも知れん

898 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 14:39:22.47 ID:JSWmVJf3.net]
たぶんクエリのほうが遥かに速い

899 名前:デフォルトの名無しさん [2018/04/21(土) 16:21:47.73 ID:Zke6MJB8.net]
OpenQueryをCから実行

900 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 17:48:56.41 ID:e0mRRnZY.net]
BULK INSERT は?

そもそも、INSERT文は速くならない!



901 名前:デフォルトの名無しさん mailto:sage [2018/04/22(日) 14:54:13.01 ID:QBM3hGX3.net]
10万が大量かどうかという問題も有るがRecordset + AddNewの方が速いと聞いたし、実際俺が組んだ場合も明らかに早いんだが。

状況にもよるかもしれんけど。

902 名前:デフォルトの名無しさん mailto:sage [2018/04/23(月) 02:01:29.71 ID:zWK+uIrS.net]
そもそもOpenQueryでどんなクエリ流してインサートしてるかわからんのに比較にならんわ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<273KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef