[過去ログ]
Access VBA 質問スレ Part1 (1002レス)
Access VBA 質問スレ Part1 http://mevius.5ch.net/test/read.cgi/tech/1328536426/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
737: デフォルトの名無しさん [sage] 2017/06/07(水) 22:22:23.86 ID:+eS8ypoQ 何やら禅問答の様相を呈しているようだが その入力フォームのレコードソースがクエリで、対象のテーブルに保存できるか? という質問なら、DoCmd ・・・なんぞを使わずともレコードが移動した時点で保存される ソースの無いフォーム上のテキストボックス群(等)に入力して、例えば[保存ボタン]などで 対象のテーブルにデータを保存するような使い方の場合には、その DoCmd ・・・を使って それぞれ保存したいフィールドに各テキストボックス群(等)のデータを保存す
る でよろしいか テキストボックス、コンボボックス、リストボックス、チェックボックス等々があるから・・群(等)と書いたけど http://mevius.5ch.net/test/read.cgi/tech/1328536426/737
738: デフォルトの名無しさん [] 2017/06/08(木) 12:41:56.61 ID:Gl6SA9F6 >>737 はい、フォーム上のテキストボックスに入力されたデータの保存について聞きたいのですが、レコードソースのクエリで複数テーブルが結合している場合、共通のカラムのデータは結合しているすべてのテーブルに保存されますか http://mevius.5ch.net/test/read.cgi/tech/1328536426/738
739: デフォルトの名無しさん [sage] 2017/06/08(木) 21:37:20.87 ID:QO2QuDWb >>738 すみません、分かりません。 カラムっていうのは何だろ?フォームはデータシートビューなのかな。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/739
740: デフォルトの名無しさん [sage] 2017/06/08(木) 22:12:23.06 ID:ymWmjIat 百聞は一見の喩えじゃないが、二日費やしてる間に試しで入れてみれば 100ヶテーブル繋げてても全部入るだろ あ、Max32だったか しかも結合は16までか じゃあ16で で、へぇ、なるほど、こうなるんだ って理解に繋がる http://mevius.5ch.net/test/read.cgi/tech/1328536426/740
741: デフォルトの名無しさん [] 2017/06/09(金) 14:32:01.31 ID:273W91RO >>739 カラムは列(項目)です フォームビューです 本番環境で作業してるため、登録処理ができないので、教えていただきませんでしょうか http://mevius.5ch.net/test/read.cgi/tech/1328536426/741
742: デフォルトの名無しさん [] 2017/06/09(金) 14:33:57.33 ID:273W91RO レコードセットがダイナセットで、レコードソースのクエリが2つ以上のテーブルを結合しているときの登録されるテーブルを教えてほしいです http://mevius.5ch.net/test/read.cgi/tech/1328536426/742
743: デフォルトの名無しさん [sage] 2017/06/09(金) 19:37:19.10 ID:arHWLDZ3 クエリが複数のテーブルからできていても そのクエリのカラムはどっちのテーブルのカラムか区別されてるぞ http://mevius.5ch.net/test/read.cgi/tech/1328536426/743
744: デフォルトの名無しさん [sage] 2017/06/09(金) 23:11:20.98 ID:LJNVGfcK >>742 フォームプロパティのレコードソースからクエリのデザインできるウィンドウを開きます。項目フィールドがどのテーブルのものか定義されています。 正確な名称で答えられなくてすみません。布団の中からなので。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/744
745: デフォルトの名無しさん [sage] 2017/06/13(火) 12:35:22.53 ID:CYlYHOF+ easyComm使ってrs-232cで測定器つないでデータ取る、みたいなのが得意な人いる? http://mevius.5ch.net/test/read.cgi/tech/1328536426/745
746: デフォルトの名無しさん [sage] 2017/06/13(火) 15:22:33.36 ID:mycfBP+w いない http://mevius.5ch.net/test/read.cgi/tech/1328536426/746
747: デフォルトの名無しさん [sage] 2017/06/13(火) 21:12:00.58 ID:R7Yl4a9U いませんか。仕方ない、コリコリ書くかな。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/747
748: デフォルトの名無しさん [sage] 2017/06/16(金) 21:29:11.74 ID:YDbGqV+E 出来た!動いた! 測定器の制御とか本当はvisual studioとかで作成するんだろうけど、パソコンの性能がいつの間にか上がっててACCESSでもいけたよ! http://mevius.5ch.net/test/read.cgi/tech/1328536426/748
749: デフォルトの名無しさん [] 2017/06/17(土) 17:55:53.00 ID:n14YEU6w そのうち性能ωが上がってACCESSでBIGデータ扱ったり機械学習したりする時代が来るのか http://mevius.5ch.net/test/read.cgi/tech/1328536426/749
750: デフォルトの名無しさん [] 2017/06/22(木) 11:21:35.79 ID:1rSOLJ2h すごい基本的な質問ですみません accessのSQLの言語って何ですかね MYSQLとかですか http://mevius.5ch.net/test/read.cgi/tech/1328536426/750
751: デフォルトの名無しさん [sage] 2017/06/22(木) 15:04:17.20 ID:+TFSs5XU SQLが言語だよ すとらくちゃーどくえりーらんげーじ だったかな http://mevius.5ch.net/test/read.cgi/tech/1328536426/751
752: デフォルトの名無しさん [sage] 2017/06/22(木) 15:25:40.99 ID:9kjviait 質問の意味も意図もよくわからんね。 access以外のシステムからSQL文をコピペしたいってことなのか!? http://mevius.5ch.net/test/read.cgi/tech/1328536426/752
753: デフォルトの名無しさん [sage] 2017/06/22(木) 15:27:59.87 ID:T7aSUWBW >>750 MYSQLもSQL。 仕様があって、それに沿って各社実装してる。 が、独自部分も多いから同じSQLだからといって何処でも動くとは言えない。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/753
754: デフォルトの名無しさん [] 2017/06/22(木) 15:43:16.41 ID:1rSOLJ2h >>753 SQL言語もポスグレだったりPLSQLだったりあるじゃないですかそれで言うと何になるのか聞きたいんですけど http://mevius.5ch.net/test/read.cgi/tech/1328536426/754
755: デフォルトの名無しさん [] 2017/06/22(木) 15:44:58.51 ID:1rSOLJ2h 勘違いしてたらすみません SQLとMYSQLの関係ってCとC♯の関係ですか http://mevius.5ch.net/test/read.cgi/tech/1328536426/755
756: デフォルトの名無しさん [] 2017/06/22(木) 15:45:47.90 ID:1rSOLJ2h >>752 コピペでそんなこと気にする必要ありませんよね 気になったから質問したまでです http://mevius.5ch.net/test/read.cgi/tech/1328536426/756
757: デフォルトの名無しさん [sage] 2017/06/22(木) 15:53:28.78 ID:wdLd6PlL SQLとMYSQLの関係は他人のSQLと自分のSQLの関係です 昔、金井克子という人が歌ってました http://mevius.5ch.net/test/read.cgi/tech/1328536426/757
758: デフォルトの名無しさん [sage] 2017/06/22(木) 16:58:01.05 ID:zFId4oiO SQLというのはそれが言語 (たまにSQL言語以外の事をSQLと言っている場合もある) ポスグレやMYSQLやACCESSはそのSQL言語を使う環境(の一部) 環境によりSQLに多少の差はある ポスグレはSQL言語じゃない PL/SQLはSQLを拡張した言語 ACCESSならSQLを超える範囲の言語はVBA http://mevius.5ch.net/test/read.cgi/tech/1328536426/758
759: デフォルトの名無しさん [] 2017/06/22(木) 17:53:43.99 ID:1rSOLJ2h >>758 よくわかりました、ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1328536426/759
760: デフォルトの名無しさん [sage] 2017/06/22(木) 21:11:47.56 ID:f/XKrCgm >>756 他のSQLの構文をそのままコピペしてAccessで使うのは うまくいかないこともある ことを気遣ってくれたんじゃね? そんな言い捨てるようなレスはいけないと思いますよ http://mevius.5ch.net/test/read.cgi/tech/1328536426/760
761: デフォルトの名無しさん [] 2017/06/22(木) 21:17:42.32 ID:t4uJuvar >>760 なるほど >>752失礼しました http://mevius.5ch.net/test/read.cgi/tech/1328536426/761
762: デフォルトの名無しさん [sage] 2017/06/22(木) 23:45:58.46 ID:Ddgcj+Nb >>761 素直な態度の人は成長するらしいですね。 良い事良い事。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/762
763: デフォルトの名無しさん [sage] 2017/06/30(金) 23:17:34.97 ID:8BMFafeA 何でも良い、誰でも良いから質問すれ。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/763
764: デフォルトの名無しさん [] 2017/07/03(月) 12:15:52.25 ID:HFvRoHNk 変数の宣言を強制するにチェック入れたのに Option Explicit が出てこないのですが どうしたら出て来ますか? http://mevius.5ch.net/test/read.cgi/tech/1328536426/764
765: デフォルトの名無しさん [sage] 2017/07/03(月) 12:56:00.26 ID:hBIZ2owM 既存のコードには入らないよ 新規で作成するオブジェクトには入る http://mevius.5ch.net/test/read.cgi/tech/1328536426/765
766: デフォルトの名無しさん [] 2017/07/04(火) 16:03:28.67 ID:ce7knrBK Accessの神々よ、御教えを! Accessでは、CHECK 句が使えないようですが、 カラム数が多いため、 いちいちプロパティから入力規則を設定するのは骨が折れます。 SQL で一括設定する方法をご伝授くださいませ〜 http://mevius.5ch.net/test/read.cgi/tech/1328536426/766
767: デフォルトの名無しさん [sage] 2017/07/04(火) 22:10:20.82 ID:WoXW+1QF えー、クエリ作ってからSQL表示してコピペ。 そんな事聞いてないよね。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/767
768: デフォルトの名無しさん [] 2017/07/05(水) 02:09:17.79 ID:EckUEWaI >>765 なるほどさんくす http://mevius.5ch.net/test/read.cgi/tech/1328536426/768
769: デフォルトの名無しさん [sage] 2017/07/05(水) 10:03:04.42 ID:Qpg00Afa view http://mevius.5ch.net/test/read.cgi/tech/1328536426/769
770: デフォルトの名無しさん [sage] 2017/07/05(水) 17:39:45.65 ID:XEX8l1it win7x64-office2016x86環境下のみで再現するらしい xls出力からコペピ張り付け罫線操作等々やってる処理で張り付したシートがズレル不具合発生 ネット調べても一切情報でてこなくて期待込めてofficeアプデしたら実行時エラー1401 空白でないセルが云々カンヌん泣きたい http://mevius.5ch.net/test/read.cgi/tech/1328536426/770
771: デフォルトの名無しさん [sage] 2017/07/20(木) 13:40:54.23 ID:AoFZnXDG 自己レス office365BPの2016でのみ再現 別シートの複数列コピー選択状態でAAセレクトインサートやろうとするとコピーペになる セレクト前に空白セル1コピーで回避 http://mevius.5ch.net/test/read.cgi/tech/1328536426/771
772: デフォルトの名無しさん [] 2017/07/21(金) 16:32:01.78 ID:28Rvh+yS クエリを実行したときに全件レコードを取得できてないのに検索結果画面が開くときってない? ▷|←このボタン押すと検索結果の件数が出てくるんだけど、押してから出るまでに時間がかかるってことは全件レコード取得できてないってことだよね http://mevius.5ch.net/test/read.cgi/tech/1328536426/772
773: デフォルトの名無しさん [] 2017/07/21(金) 16:32:40.55 ID:28Rvh+yS この現象を何なのか教えてほしい http://mevius.5ch.net/test/read.cgi/tech/1328536426/773
774: デフォルトの名無しさん [] 2017/07/21(金) 17:16:56.11 ID:PYWMukgm 表示した後でも数字が勝手に増えるってこと? http://mevius.5ch.net/test/read.cgi/tech/1328536426/774
775: デフォルトの名無しさん [] 2017/07/21(金) 17:49:46.53 ID:28Rvh+yS >>774 いや、クエリのSQLをorderby句を書かなかったとき、全件検索する前に検索結果画面が開く http://mevius.5ch.net/test/read.cgi/tech/1328536426/775
776: デフォルトの名無しさん [] 2017/07/21(金) 17:55:49.86 ID:28Rvh+yS ?orderby書いてクエリを実行する→1/2500みたいに結果件数がでる ?orderby書かないでクエリを実行する→1 結果件数が上記と違いでない ▷|このボタンおすと上記と同じように1/2500となる ?の実行時間10秒 ?の実行時間1秒 ただし▷|ボタン押すと10秒くらいかかる http://mevius.5ch.net/test/read.cgi/tech/1328536426/776
777: デフォルトの名無しさん [sage] 2017/07/21(金) 21:47:28.80 ID:GPYD2Qke なんかオプションに無かったかな。最初の表示するぶんだけ読み込んでとりあえず見せておいて裏で続きを読むって機能をオンに、みたいな。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/777
778: デフォルトの名無しさん [] 2017/07/24(月) 04:02:58.29 ID:UL92A3MD >>777 あれば教えてほしいですね http://mevius.5ch.net/test/read.cgi/tech/1328536426/778
779: デフォルトの名無しさん [sage] 2017/07/24(月) 15:06:22.21 ID:BdqEvISL あった気がする http://mevius.5ch.net/test/read.cgi/tech/1328536426/779
780: デフォルトの名無しさん [] 2017/07/25(火) 22:56:57.38 ID:EiidKUEl 会社テーブル id 会社名 ・・・ 1. A社 2. B社 3. C社 4. B社 職員テーブル name 会社id ・・・ 山田. 1 鈴木. 1 飯田. 2 野口. 3 岡本. 4 一対多のリレーションがありまして 会社マスターにダブり登録されている場合(この場合B社) 楽に修正する方法はないでしょうか 250社くらいダブリやトリプルしていて困っております http://mevius.5ch.net/test/read.cgi/tech/1328536426/780
781: デフォルトの名無しさん [sage] 2017/07/26(水) 07:07:59.14 ID:wP3Z6w42 名寄せマスター 名寄せID 会社ID 新会社ID 1 2 2 1 4 2 名寄せマスターと職員テーブルをJOINしてUPDATE というのはどうですか? http://mevius.5ch.net/test/read.cgi/tech/1328536426/781
782: デフォルトの名無しさん [sage] 2017/07/26(水) 07:12:28.72 ID:XR9PfPcp その会社マスターがおかしいのを放置するのか修正するのかで違ってくるよね http://mevius.5ch.net/test/read.cgi/tech/1328536426/782
783: デフォルトの名無しさん [sage] 2017/07/26(水) 16:42:27.76 ID:Pvb1ow9Q 合併したんかね http://mevius.5ch.net/test/read.cgi/tech/1328536426/783
784: デフォルトの名無しさん [] 2017/07/27(木) 20:31:02.25 ID:6NlFfxVd >>781 なるほど 重複クエリに各会社の最小IDを連結して名寄せテーブルを作成し JOINしてUPDATEしました 名寄せテーブルを作成しないでクエリだけでUPDATEまでもっていくのは この場合駄目なんですね はじめ理解できず悩みました >>784 JOINしたAccessのデータをExcelに吐き出し各職場に配布、各々で修正追加。 一年以上たって回収しAccessに貼り付けられて今の状態です。 正確には職員テーブルじゃなくて顧客テーブルですね http://mevius.5ch.net/test/read
.cgi/tech/1328536426/784
785: デフォルトの名無しさん [sage] 2017/07/27(木) 20:40:42.96 ID:DKmshiqQ なあんだ、Excelの段階で調整しちゃえば余計な苦労しなくて済んだのに http://mevius.5ch.net/test/read.cgi/tech/1328536426/785
786: デフォルトの名無しさん [sage] 2017/08/01(火) 21:53:22.72 ID:FQn2qD+M 初心者なんで教えて欲しいんだけど、フォームの次へボタン押した時に次のレコードが 表示されないのだがどうしたらいいか教えて欲しい。バージョンは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 http:
//mevius.5ch.net/test/read.cgi/tech/1328536426/786
787: デフォルトの名無しさん [sage] 2017/08/01(火) 22:21:37.22 ID:16hy4odR フォームのソースが名簿テーブルならフォーム読み込み時の名前とよみがなセットするコードは無くても先頭レコードが表示される。 フォームのソースを確認しましょう。 非連結フォームならボタン押した時に次のレコードを読み込んで名前とよみがなセットするコードが必要だけど、キーが不明なので何ともアドバイスできません。 長々と書いたがわかりにくいね、すまん。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/787
788: デフォルトの名無しさん [sage] 2017/08/02(水) 22:57:21.98 ID:GleVclNw >>787 ありがと http://mevius.5ch.net/test/read.cgi/tech/1328536426/788
789: デフォルトの名無しさん [] 2017/08/28(月) 11:23:53.36 ID:XLKoN0Ik 神さま教えてください。 ADODB.Commandでのインサートが失敗しても エラーが出ないのですが、エラーハンドリングの 方法を教えてください。 よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/789
790: デフォルトの名無しさん [sage] 2017/08/28(月) 21:14:51.01 ID:6Oo2q0tu on error http://mevius.5ch.net/test/read.cgi/tech/1328536426/790
791: デフォルトの名無しさん [sage] 2017/08/29(火) 08:37:26.00 ID:SOL0jppX むしろonerrorしかないと思うが、他にやり方あんの? http://mevius.5ch.net/test/read.cgi/tech/1328536426/791
792: デフォルトの名無しさん [] 2017/08/29(火) 09:14:08.50 ID:WIE1SoZ9 レスありがとうございます。 ON ERROR は当然やってまして その上での質問です。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/792
793: デフォルトの名無しさん [] 2017/08/29(火) 21:25:59.80 ID:BqQa7G9t 失敗ってなんだ。 戻り値を取ればAffectedRowsになってるだろうから それで判断するか追加されたはずの行数をあらためSELECTするとか http://mevius.5ch.net/test/read.cgi/tech/1328536426/793
794: デフォルトの名無しさん [sage] 2017/11/15(水) 11:14:08.03 ID:PQCfnSyv >>786 そのコードはFormがLoadされた時に名簿テーブルを開いてRecordsetに格納し、名前とカナをテキストボックスに入れるというものと次へボタンを押した時にFormがLoadされた時の処理とは全く関係なく次のレコ−ドに移動するもの。 ところで次へボタンでの次のレコ−ドってのは何のデ−タなんだい? 改めて言うけどFormがLoadされた時の処理なんて知らないからとAccess君は言っている。 要は、DoCmd.GotoRecordってのはデータとオブジェクトが
連結されていることが想定されていて、連結されているから既にオブジェクトにレコードが表示されているわけだが、それに対して次のレコ−ドと言ってる。 一方、FormのLoad時の処理は連結関係無くデ−タを自ら取ってくるもの。 こちらのやり方を取るならRecordsetをPublic変数にするかForm内でのPrivate変数として保持しておき、他のイベント(次へボタンクリックのような)で使いまわすというやり方になる。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/794
795: デフォルトの名無しさん [sage] 2017/11/22(水) 10:10:39.42 ID:as8vu/t7 整数型、重複なしの列を書き換えるときはどうしてますか?たとえば、 2 1 3 → 2 1 3 にしたいときに2→1の時点でエラーが出ると思うので回避策を検討しています。 一時的に重複なしを解除して、終了時点で重複なしへ戻す方法や、一旦一時的に重複しない数字に書き換えて、それから再度書き換えるべきか悩んでいます。 なにか一般的な方法はございますか? http://mevius.5ch.net/test/read.cgi/tech/1328536426/795
796: デフォルトの名無しさん [sage] 2017/11/22(水) 10:11:55.37 ID:as8vu/t7 あれ、スペースがおかしくなっている。 列を書き直すときにたとえば 2→1 3→2 1→3 としたいのです。具体的にはidを振り直す作業です。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/796
797: デフォルトの名無しさん [sage] 2017/11/22(水) 12:23:57.98 ID:TDbCG25M レンジのソートでよくね? もしくはフィルタ付けて並び替えてからフィルタ解除とか http://mevius.5ch.net/test/read.cgi/tech/1328536426/797
798: デフォルトの名無しさん [sage] 2017/11/22(水) 12:27:01.49 ID:taN4cymO idには触らないで、整数型のフィールドを追加します。そのフィールドでやりたい放題やります。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/798
799: あ [sage] 2017/11/22(水) 12:46:48.77 ID:MjBhGus4 どうしてもやりたけりゃ、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クエリ内で完結したら、制約はかからない。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/799
800: デフォルトの名無しさん [sage] 2017/11/22(水) 13:21:54.54 ID:as8vu/t7 >>797 済みません。AccessにもRangeというのがあるのですか?あと、フィルターの使い方も御教示をお願い致します。 >>798 それが、当該idを参照しているテーブルが20個以上あるので、別のコラムという訳にはいかないのです。 参照先を変更するとなるとクエリやらVBAのコードやらを書き換えないといけないので大変だと思います。 >>799 バブルソートみたいなものですね。レコード数が3万ありますので、何となく時間がかかりそうな気がしますが、試してみます
。 今はソート後にDMax+iのループで重複しないidへ書き換えて、書き換えが終わってからDMaxを引くという2段階の作業をしています。 (参照元のidも2段階の書き換えをしています。)) 我ながらドン臭いやり方だと思うので、もう少しスマートな方法があれば御教示をお願いいたします。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/800
801: デフォルトの名無しさん [sage] 2017/11/22(水) 15:00:03.20 ID:t4MJ2LxN その列自体を書き換えちゃうの? じゃあ、今入ってる値は必要無いってこと? だったら削除して連番振り直したら? http://mevius.5ch.net/test/read.cgi/tech/1328536426/801
802: デフォルトの名無しさん [] 2017/11/22(水) 15:02:12.97 ID:TZAtmSaI 今の時代なにが楽しくてAccessなんてやるんだ http://mevius.5ch.net/test/read.cgi/tech/1328536426/802
803: デフォルトの名無しさん [sage] 2017/11/22(水) 15:50:01.09 ID:as8vu/t7 >>801 idだから主キーです。Nullは不可だと思います。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/803
804: あ [sage] 2017/11/22(水) 16:48:33.62 ID:QspO8Ati >>800 もう組み合わせがわかってて、ほんとに単発で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に貼り付けるやつ。 しょっちゅうやるならテ
ーブル見直そう。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/804
805: デフォルトの名無しさん [sage] 2017/11/22(水) 16:57:08.62 ID:QHiNhW2y >>803 方法はいくらでもあると思うけど。 Field追加して連番を振って、追加したFieldを主キーに変更して元の主キーのFieldを削除するとか。 試してないからできるか分からんけど。 そんなことせずに振りなおすならOrderByでId順にして小さい値から振りなおしたら? http://mevius.5ch.net/test/read.cgi/tech/1328536426/805
806: デフォルトの名無しさん [sage] 2017/11/22(水) 16:59:54.83 ID:QHiNhW2y ただ、主キーを振りなおす意味が分からない。 そういうもんじゃ無いと思うし、テーブルの連結によっては滅茶苦茶になるのは分かってるよね。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/806
807: あ [sage] 2017/11/22(水) 17:57:43.64 ID:QspO8Ati 主キー振り直すのは、やむを得ずやるのはそのアプリのライフタイムに何発かあると思う。 業務系だと、「スキーマ変えるな」「デカいトランザクションはるな」「一時テーブルすら作るな」とか無茶苦茶言いよることもある。 でも、しょっちゅうやるならホントに設計考えたほうが良い。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/807
808: デフォルトの名無しさん [sage] 2017/11/22(水) 18:29:23.78 ID:2YVJuPMl 別に列作ってそっち主キーにすれば? http://mevius.5ch.net/test/read.cgi/tech/1328536426/808
809: デフォルトの名無しさん [sage] 2017/11/22(水) 23:10:16.27 ID:as8vu/t7 >>805 >>そんなことせずに振りなおすならOrderByでId順にして小さい値から振りなおしたら? そんなことが出来るのですか?DAOもADOも1行ずつしかupdate出来ないから、重複データーが発生してしまって出来ないのですが… >>806 ワークテーブルまで含めて数えなおしたら、35個のテーブルで件のidを使用していました。なので35個のテーブルに対して変更を行わないといけませんね。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/809
810: デフォルトの名無しさん [sage] 2017/11/22(水) 23:11:54.97 ID:as8vu/t7 >>808 それで解決するなら簡単ですね。やってみたいですね。 元の列の属性がすべて引き継がれるならいいですね。試してみます。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/810
811: デフォルトの名無しさん [sage] 2017/11/23(木) 09:57:12.17 ID:wkO+ZdSN 主キーの役割はレコードをユニークにすることだろ 並べ替えが必要ならそのための項目を別に用意するわ 作業量を問題にしてるけど 無茶な運用は後に響くよ 分かり易さを優先すべきだと思うわ http://mevius.5ch.net/test/read.cgi/tech/1328536426/811
812: デフォルトの名無しさん [sage] 2017/11/24(金) 12:10:31.02 ID:fRZqdK5G 主キーを解除して、重複可にして連番を書き込みました。その後に元に戻しました。変更前後の番号を配列に書き込んでおいて、その配列の値から関連するテーブル全部において置換作業を行うことにしました。 idが2万5000レコード、関連するテーブルのレコードが全部で100万近いのですが、2万5000の置換を100万レコードに対して行うので時間がかかりそうな気がしています。どのくらい時間がかかるのか計算する方法がありますかね? http://mevius.5ch.net/test/read.cgi/tech/1
328536426/812
813: デフォルトの名無しさん [sage] 2017/11/24(金) 12:21:50.25 ID:Q2HEJk5l accessにSQLコストを計算する機能はないよ http://mevius.5ch.net/test/read.cgi/tech/1328536426/813
814: デフォルトの名無しさん [sage] 2017/11/24(金) 19:17:11.31 ID:fRZqdK5G 主キーの削除をVBAでやろうとしているんだけど、メソッドが見つからない。SQLでやるしかないのかな? 下を読むとdeleteメソッドはダメみたいだし。 https://msdn.microsoft.com/ja-jp/library/office/ff197351.aspx >>Deleteメソッドは、インデックスオブジェクトが新しいと、データベースに追加されていない場合にのみサポートします。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/814
815: デフォルトの名無しさん [sage] 2017/11/25(土) 10:30:03.03 ID:eU9hnSW+ 無理矢理面倒臭い事をしているようにしか思えない まぁ人の話を聞く気が無いみたいだし 好きに調べてやればええよ http://mevius.5ch.net/test/read.cgi/tech/1328536426/815
816: デフォルトの名無しさん [sage] 2017/11/27(月) 17:21:43.17 ID:twASlFZz SQLであっさり出来たわ。後は置換をどうするかだな。関連するテーブル全部を置換できればすべて解決するけど、何を使うかだな。 SQLは遅いんだっけ?レコードセットでループ回す方が速いと読んだ気がする。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/816
817: デフォルトの名無しさん [sage] 2017/11/27(月) 22:26:05.40 ID:HF1f2kGW >>816 普通に考えればSQLの方が速いに決まってると思ってたが。 遅いとしたらその文書いた奴が悪いという印象。 ま、DB系については大したレベルにないから俺が間違ってるかも。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/817
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 185 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.015s