[過去ログ]
Access VBA 質問スレ Part1 (1002レス)
Access VBA 質問スレ Part1 http://mevius.5ch.net/test/read.cgi/tech/1328536426/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
883: デフォルトの名無しさん [sage] 2018/05/16(水) 18:06:12.59 ID:xULU+qSI >>881 しまった戻り値無いfunction俺も作ってた 動くから別にいいやって感じだった http://mevius.5ch.net/test/read.cgi/tech/1328536426/883
884: デフォルトの名無しさん [sage] 2018/05/16(水) 19:24:53.85 ID:DzLb+Dky 業務でプログラム組むような場合は、コーディングスタイルが指定されてる事が多いんだよ 正確には戻り値のないFunctiionじゃなくて、戻り値を無視してるだけだけどな http://mevius.5ch.net/test/read.cgi/tech/1328536426/884
885: デフォルトの名無しさん [sage] 2018/05/16(水) 20:47:56.46 ID:xULU+qSI functionとsubはcallが要るかどうかの違いだと思ってた。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/885
886: デフォルトの名無しさん [sage] 2018/05/16(水) 23:07:53.34 ID:aP5Z4SKQ 可読性が低下する以外のデメリットは無いんでしょうかね? 個人的には出番のない変数は目障りなんですけどね。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/886
887: デフォルトの名無しさん [sage] 2018/05/17(木) 00:12:37.33 ID:e2hshpiX 呼び出しネストの限界がFunctionのほうが浅いってデメリットがあるはず 呼び出しに必要なスタック領域が違うから 昔だれかが実測してたな。まあ再帰でよっぽどのことやらんと問題ないんじゃね SubをFunctionにして可読性が落ちるとか、それ関数の命名に問題がある気がするがな http://mevius.5ch.net/test/read.cgi/tech/1328536426/887
888: デフォルトの名無しさん [sage] 2018/05/17(木) 08:14:31.45 ID:JDzFkPHQ 戻り値ある前提で組んでるんでしょ。 エラー処理等で単に関数が失敗か成功かを返すとか。 後で作ろうとしてたけどグダグダになって無しになっちゃうとか。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/888
889: デフォルトの名無しさん [sage] 2018/05/17(木) 11:23:10.83 ID:eM4CBQj1 後でやろうとしてやめちゃうってのは非常に大変頻繁によくあることだからね。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/889
890: デフォルトの名無しさん [] 2018/05/17(木) 12:28:55.01 ID:HY+Xmele >>881 呼び出し側でいちいち call 書くの面倒だから http://mevius.5ch.net/test/read.cgi/tech/1328536426/890
891: デフォルトの名無しさん [sage] 2018/05/17(木) 13:35:45.45 ID:vSfZvvAw >>890 FunctionもSubもCallを書かなくても呼び出せすので、理由にならないと思います。 個人的には、Callが書いてないと唐突に見慣れない文が出現するので驚いちゃいます。馴れれば、労力の軽減になるのかな? http://mevius.5ch.net/test/read.cgi/tech/1328536426/891
892: デフォルトの名無しさん [] 2018/05/17(木) 13:53:44.02 ID:HY+Xmele call 書かないと () 付かないだろ () 付かないから知らない文が出て来たと思ってしまう () 付ければ関数だと判るが call 書かないといけないって話 http://mevius.5ch.net/test/read.cgi/tech/1328536426/892
893: デフォルトの名無しさん [sage] 2018/05/17(木) 15:12:43.90 ID:vSfZvvAw >>892 済みません。よくわかりませんのでかみ砕いておしてもらえますか? Callと括弧がペアで必要なのは理解しています。 もちろん、CALLなし、括弧なしでFunctionもSubも呼び出せるのも知っています。 両者の呼び出しの記法が全く同じで、唯一の例外が lngSum=AddNumbers(10,20) 等の場合ということも知っています。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/893
894: デフォルトの名無しさん [sage] 2018/05/17(木) 15:32:30.96 ID:vSfZvvAw >>884 こんな感じですかね? SUBは使わないのが基本? http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=47673&forum=36 ↑でも結局解決していませんね。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/894
895: デフォルトの名無しさん [sage] 2018/05/17(木) 17:22:26.67 ID:eM4CBQj1 つい全文読んじゃったよ いろんな考えの人がいるんだね http://mevius.5ch.net/test/read.cgi/tech/1328536426/895
896: デフォルトの名無しさん [sage] 2018/05/19(土) 13:29:25.00 ID:CLRFNNLm >>893 えっcallなしで呼び出せるの?知らない事がたくさんあるなあ http://mevius.5ch.net/test/read.cgi/tech/1328536426/896
897: デフォルトの名無しさん [sage] 2018/05/19(土) 13:36:56.85 ID:hVWJ7ayQ >>896 英語の本にはちゃんと書いてあるんですよね。私はVBSの本で知りました。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/897
898: デフォルトの名無しさん [] 2018/05/23(水) 19:16:19.68 ID:Au5e7VGg 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方 役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 BHZ67 http://mevius.5ch.net/test/read.cgi/tech/1328536426/898
899: デフォルトの名無しさん [sage] 2018/05/24(木) 10:37:30.53 ID:cPlRxlDn BHZ67 http://mevius.5ch.net/test/read.cgi/tech/1328536426/899
900: デフォルトの名無しさん [sage] 2018/05/24(木) 21:31:25.23 ID:fKzQ9ZgX ありがとう、僕も幸せになります http://mevius.5ch.net/test/read.cgi/tech/1328536426/900
901: デフォルトの名無しさん [sage] 2018/06/13(水) 13:33:14.15 ID:jDAL4HLn 全モジュールをExportするコードがネットにあったので試したら、0TESTModuleという名前のモジュールでエラーになった。0TESTに書き換えたら通った。 予約語かと思ったけど、そんなリスト見つからない。モジュールに名前にModuleが含まれていると失敗するものなの? ちなみに使ったコードは↓ https://stackoverflow.com/questions/16948215/exporting-ms-access-forms-and-class-modules-recursively-to-text-files http://mevius.5ch.net/test/read.cgi/tech/1328536426/901
902: デフォルトの名無しさん [sage] 2018/06/29(金) 23:41:22.03 ID:Ur5E76UH 学生はaccessの勉強してないよね。既存の社内システムメンテナンスできる人を募集してるけど応募が無い。 accessなんて社会人になってから仕事の合間に覚える人がまれにいる、程度のものなのかな。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/902
903: デフォルトの名無しさん [sage] 2018/06/30(土) 00:22:45.41 ID:2tzAZf7R そもそもOfficeのPro版がほとんどの市販PCに載ってないから触れたことすらなかった http://mevius.5ch.net/test/read.cgi/tech/1328536426/903
904: デフォルトの名無しさん [] 2018/06/30(土) 12:32:46.83 ID:QJJEkoJ9 大学はFileMakerすすめるからな http://mevius.5ch.net/test/read.cgi/tech/1328536426/904
905: デフォルトの名無しさん [] 2018/06/30(土) 22:27:35.34 ID:XUZKNvMV >>902 給料が安いから応募がないんじゃないの? いくらで募集なのか知らないが、派遣の求人だと 社内システム作れる人だと時給2100円前後という印象だなAccessは (高くても2300円くらいか) だから社内システムメンテ出来る人は普通の会社には行かないのでは そこまで出来るなら専門業者で働いた方がずっと稼げるだろう http://mevius.5ch.net/test/read.cgi/tech/1328536426/905
906: デフォルトの名無しさん [sage] 2018/06/30(土) 23:30:30.56 ID:D2LAG+Ct 人にもよるだろ。 俺の印象では3000円弱ぐらいまではいく。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/906
907: デフォルトの名無しさん [sage] 2018/07/01(日) 22:59:11.58 ID:zfW8OWzE >>903 今は単品で15,000円位だから、コスパ良い開発環境だと思うのだが。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/907
908: デフォルトの名無しさん [sage] 2018/07/02(月) 11:07:23.80 ID:kZ0RH16R VBAで自動メンバー表示できるVBE以外のエディタってあるのかな? http://mevius.5ch.net/test/read.cgi/tech/1328536426/908
909: デフォルトの名無しさん [sage] 2018/07/04(水) 06:14:38.14 ID:0ZnatSkO VBS のエディタが使えないかな。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/909
910: デフォルトの名無しさん [] 2018/07/04(水) 22:00:33.68 ID:gFgZc5FG OH1 http://mevius.5ch.net/test/read.cgi/tech/1328536426/910
911: デフォルトの名無しさん [sage] 2018/07/04(水) 22:52:05.24 ID:SBPTcvBw >>909 vbseditで試したけどダメだった emacsで成功した人がいたのでWIN用emacsインスコしてみた この後は面倒くさいからあしたやるemacsはいろいろ出来てすごいと言うことが少し分かったわ http://mevius.5ch.net/test/read.cgi/tech/1328536426/911
912: デフォルトの名無しさん [sage] 2018/07/04(水) 23:17:14.61 ID:uOrTSuCX VS CodeにVBA用の拡張があったはず ふつうのVSにも探せばあるかもな http://mevius.5ch.net/test/read.cgi/tech/1328536426/912
913: デフォルトの名無しさん [sage] 2018/07/05(木) 04:54:44.26 ID:/W/cgvJ/ VBE ではないエディタが欲しい場面とは?良かったら教えて。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/913
914: デフォルトの名無しさん [sage] 2018/07/05(木) 10:21:34.29 ID:6LeJvB+6 >>912 VSCの奴は2つ入れたけど,オートコンプリートはできるけど,自動メンバー表示は出来ないですね. >>913 一般的なエディタと比べると余りにもVBEが低機能だからですね. たとえばコードフォールディングをしたいし,行番号も見たいけど,出来ないですからね.ズームが出来ないのも案外不便. http://mevius.5ch.net/test/read.cgi/tech/1328536426/914
915: デフォルトの名無しさん [sage] 2018/07/05(木) 23:08:09.61 ID:pNcP8vSm フォームでマウスホイールをコロコロしてレコードを移動させるプログラムを教えていただけませんか? http://mevius.5ch.net/test/read.cgi/tech/1328536426/915
916: デフォルトの名無しさん [sage] 2018/07/10(火) 21:58:48.67 ID:U+UpIg0Q ソース連結の単票フォームなら、何にもしなくてもホイールコロコロでページパタパタ出来るけど そういうのとは違うのか 或いは、制作者が敢えて無効にしてるのを有効化したいのか 或いは、帳票フォームの上下・・ これもホイール効くか、、 シーンを限定してもわらないと http://mevius.5ch.net/test/read.cgi/tech/1328536426/916
917: デフォルトの名無しさん [sage] 2018/07/11(水) 04:54:43.98 ID:UzCikUyf >>914 913です。VBE良くできてるな便利だなと思って使ってました。もっと捗るエディタも有るんですね。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/917
918: デフォルトの名無しさん [sage] 2018/07/11(水) 06:04:47.59 ID:ejJItOxX >>917 ネット上にはVBEを賞賛する声は余り見ませんね。悪口は沢山見ます。 emacsをインスコしてみましたが、Windows7 64bitではダメでした。 emacsならやりたいことが全部出来るはずですが、lisp書けないから悲しいです。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/918
919: デフォルトの名無しさん [sage] 2018/07/22(日) 19:25:52.08 ID:fTZbDOvh 質問です UPDATEでテーブルを一斉更新する際に、 「Aさん」「Bさん」「Cさん」のようなデータを 繰り返しで連番のように入力させる手段は無いのでしょうか? 連番のような数値型は出来るようなのですが、 文字列で実現する方法が分からないです 目的は出勤している人間(5名程度)に 難易度にムラがある案件(200件程度)を均等・公平に 割り付けるためです お手数をおかけしますが、どうかご教授ください よろしくお願いします http://mevius.5ch.net/test/read.cgi/tech
/1328536426/919
920: デフォルトの名無しさん [sage] 2018/07/23(月) 00:04:34.46 ID:2H/uT7qC 一度連番を振ってその後に「連番 mod 3 = 0」をAさん、 「連番 mod 3 = 1」をBさん、連番 mod = 2」をCさん っていうようにすれば出来なくもないか… でもスマートじゃないですし、処理に時間がかかりそうですね http://mevius.5ch.net/test/read.cgi/tech/1328536426/920
921: デフォルトの名無しさん [sage] 2018/07/23(月) 06:42:41.53 ID:Aoeea3bS >>919 解答ではありません。 私ならexcelにエクスポートして手作業でautofill してインポート。またはvbaで一件ずつ読み書き。 Sqlでどうするかわかったら教えてください。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/921
922: デフォルトの名無しさん [sage] 2018/07/23(月) 10:05:37.58 ID:86GO4HnW 連番(数値型)を繰り返し入力させる方法が分かるのなら、 1=Aさん、2=Bさん、…っていうテーブル用意しておいて、 連番振ったあと更新クエリで文字列を更新させるのは駄目ですか? http://mevius.5ch.net/test/read.cgi/tech/1328536426/922
923: デフォルトの名無しさん [] 2018/07/23(月) 10:21:18.69 ID:eU1p7hr8 autoincrement http://mevius.5ch.net/test/read.cgi/tech/1328536426/923
924: デフォルトの名無しさん [sage] 2018/07/27(金) 08:00:42.36 ID:G5saNUly 20人程度が1つのテーブルにそれぞれ10分間隔くらいでUPDATE INSERTをしているんですが、突然テーブルが開けなくなりました 「他者が開いています」というメッセージが出て開くことやコピーすら出来なくなりました 対策やこの症状が出た時の対処方法はないのでしょうか? フロントエンドとしてユーザーの数だけUI用のAccessファイルを準備して、 バックエンドはテーブル1つだけのAccessファイルを置いています http://mevius.5ch.net/test/read.cgi/tech/1328536426/92
4
925: デフォルトの名無しさん [sage] 2018/07/27(金) 12:49:22.89 ID:ASV/JfNN そうなる前に、誰かがなんかのエラーを発してるはず 或いはエラーを殺しちゃってるかどうか 大概マズイことには口を噤むのが社畜の習い性 エラーにならないよう対策するか、エラー時に対策するか コピーすらできないなら、サーバー側での対策として バックアップ時に戻すか そのファイルさえ救出出来たら修復できるんだろうけど http://mevius.5ch.net/test/read.cgi/tech/1328536426/925
926: デフォルトの名無しさん [sage] 2018/07/27(金) 13:38:08.89 ID:rdFKIS0q 共有数の制限の気がするけど そのバックエンドのアクセスファイルはどこでどうやって共有してるんだよ http://mevius.5ch.net/test/read.cgi/tech/1328536426/926
927: デフォルトの名無しさん [sage] 2018/07/27(金) 17:29:47.26 ID:hf+c8Fmp 919です 返答が遅くなってしまい申し訳ありません >>921 解決しました 元々テーブルに連番が振ってあったので、それを利用して sqlのswitch文とmodを使ってます リストボックスで選択した担当者を配列に格納して ubound関数やらを使ってvbaでsqlを生成しました switch id mod i 0:Aさん 1:Bさん 2:Cさん 3:Dさん って感じのイメージです >>922 週休者には割り当てたくなかったので上記方法で解決しました http://mevius.5ch.net/test/read.cgi/tech/132
8536426/927
928: デフォルトの名無しさん [sage] 2018/07/27(金) 17:35:57.88 ID:hf+c8Fmp >>925 先日は事前に取っておいたバックアップまでロールバックして対処しました 未だにエラーの原因が分からないので 不具合が起きた時の対策とバックアップ頻度を上げるような 業務フロー(タイマー関数含む)を追加しようと思います 開けなくなったファイルは日を跨いだら開けるようになりました 恐らく誰かが気づかずにバックグラウンド掴んでる状態だったんだと思います >>926 特にオプションをいじっていないaccdbを共有サーバに そのまま置いてる状態
です データを取得するのはサーバのバックエンドテーブルを ローカルファイル(フロントエンド)にコピーして ローカルで完結して参照しています 更新や追加する時だけバックエンドのテーブルに UPDATEとINSERTをしています http://mevius.5ch.net/test/read.cgi/tech/1328536426/928
929: デフォルトの名無しさん [sage] 2018/08/11(土) 16:51:32.08 ID:/3QviRkj 質問です。 分割フォームの 分割フォームデータシートプロパティを VBAから操作できる方法がありますでしょうか? ご教授お願い致します。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/929
930: デフォルトの名無しさん [sage] 2018/08/11(土) 18:04:27.51 ID:MwiIaP9n 具体的なプロパティもわからんしお休みなのでパソコンも手元にないけど検索したらsplitformsize のvba コードがあるから何らかの操作は出来るんでないの?お盆モードの適当コメントですまぬ。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/930
931: 929 [sage] 2018/08/11(土) 18:45:39.43 ID:/3QviRkj >>930さん ありがとうございます! splitform vbaで調べていたら見つかりました!! うれしいです! Private Sub コマンド11_Click() If Forms("test").SplitFormDatasheet = acDatasheetReadOnly Then Forms("test").SplitFormDatasheet = acDatasheetAllowEdits Forms("test").コマンド11.Caption = "過去のデータを編集不可にします。" Else Forms("test").SplitFormDatasheet = acDatasheetReadOnly Forms("test"
).コマンド11.Caption = "過去のデータを編集可能にします。" End If End Sub ありがとうございます!! http://mevius.5ch.net/test/read.cgi/tech/1328536426/931
932: デフォルトの名無しさん [sage] 2018/08/23(木) 22:05:56.98 ID:VOAIsull サイズの限界まで巨大化しているフォームを改造して、様々なコントロール類をタブコントロール上に配置しようと考えています。 元のフォーム上のコントロール類をコピーしてタブコントロール上にペーストしたまでは良かったのですが、イベントプロシジャーがごっそり抜け落ちています。コマンドボタンを押してもなにも始まらない状態です。 イベントプロシジャーを保持したままコントロールをコピペする方法はありますか? http://mevius.5ch.net/test/read.cgi/tech/1328
536426/932
933: デフォルトの名無しさん [sage] 2018/08/23(木) 22:21:39.28 ID:VOAIsull 解決しました。 https://bytes.com/topic/access/answers/688028-controls-cut-paste http://mevius.5ch.net/test/read.cgi/tech/1328536426/933
934: デフォルトの名無しさん [sage] 2018/08/24(金) 06:25:14.72 ID:zBeCnEZ1 >>933 良かったね。 俺はVBA コードを頑張ってコピーしてるのでよかったら解説下さい。えーごわからないので。翻訳機能?あの人たちとは話が合わん! http://mevius.5ch.net/test/read.cgi/tech/1328536426/934
935: デフォルトの名無しさん [sage] 2018/08/24(金) 09:58:42.20 ID:IIPiSmN7 Accessの本はいろいろ買ったけど、良書だなあと感心したのはほとんどが未翻訳の洋書でした。 谷尻、緒方、葛西も和書としては悪くないのですが、洋書と比較すれば月とスッポンです。 技術書の英語は辞書とgoogle翻訳でだいたいなんとかなりますよ。 たまに文学的表現があってイラッとしますけど、だいたいが簡単明瞭です。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/935
936: デフォルトの名無しさん [] 2018/08/24(金) 10:46:31.53 ID:jVqNqoKW すいません質問です。オフィス365です。 手動で空のサブレポートをレポートに配置しました。これをVbaコード でコピーする方法を教えてくださいませ。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/936
937: デフォルトの名無しさん [sage] 2018/08/30(木) 13:16:49.85 ID:onaqxfsR すみません、質問させてください。 ExcelからAccessの特定のフォーム を閉じるとき、 DoCmd.Close acForm, "フォーム名" で入れると、おそらくacFormがAccessVBAの引数のためか、 エラーが出てしまいます。 何か解決方法があればご教授よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/937
938: デフォルトの名無しさん [] 2018/08/30(木) 13:20:53.05 ID:S/vwwZyF アプリが違うからOLEとかActiveXObject使うんでは http://mevius.5ch.net/test/read.cgi/tech/1328536426/938
939: デフォルトの名無しさん [sage] 2018/08/30(木) 14:29:11.04 ID:4drhoSMA >>937 acForm=2なので、acFormじゃなく直接2を指定してみると上手く行くかも DoCmd.Close 2, "フォーム名" ↑でやってみて http://mevius.5ch.net/test/read.cgi/tech/1328536426/939
940: デフォルトの名無しさん [sage] 2018/08/30(木) 16:02:05.01 ID:onaqxfsR >>938さん、939さん ありがとうございます。 939さんの方法でいけました。 ありがとうございますm(_ _)m 番号で指定する方法があったのですね。 感謝です。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/940
941: デフォルトの名無しさん [sage] 2018/08/30(木) 23:00:19.83 ID:NGm4WU4A Access.AcObjectType.acForm が 2 http://mevius.5ch.net/test/read.cgi/tech/1328536426/941
942: デフォルトの名無しさん [sage] 2018/09/13(木) 01:52:34.58 ID:iAlG4Fvk アホな質問ですまん。 クエリの中でクエリを複数使うクエリを作成したんだけど、これをSQLに書き直すときにエイリアスを使いたいんだけど、クエリに対するエイリアスは使えるのかな?テーブルだけかな? 実験した感じではダメそうなんだけど、どうですか? http://mevius.5ch.net/test/read.cgi/tech/1328536426/942
943: デフォルトの名無しさん [] 2018/09/13(木) 03:14:29.75 ID:liq2Qruq >>942 普通に使えるはずだが AS付けてないとか http://mevius.5ch.net/test/read.cgi/tech/1328536426/943
944: デフォルトの名無しさん [] 2018/09/13(木) 03:15:45.30 ID:liq2Qruq DAO経由じゃないとだめだったかも http://mevius.5ch.net/test/read.cgi/tech/1328536426/944
945: デフォルトの名無しさん [sage] 2018/09/13(木) 12:56:01.88 ID:C2gZ+hmS >>942 普通に出来るはずだぞ どういう状況でダメになってるんだ? http://mevius.5ch.net/test/read.cgi/tech/1328536426/945
946: デフォルトの名無しさん [sage] 2018/09/13(木) 13:07:05.55 ID:C2gZ+hmS >>942 サブクエリの話だよな? 自作ツールで確認したがASで普通にできてたぞ http://mevius.5ch.net/test/read.cgi/tech/1328536426/946
947: デフォルトの名無しさん [sage] 2018/09/14(金) 08:17:56.50 ID:JMy0VfN7 たぶん、サブクエリじゃなくて作成済みのクエリをSQL内部のFROM句やJOIN句にテーブルのように使う時にエイリアスを使いたいという話だと思うんだが、それでも普通に使えると思う。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/947
948: 942 [sage] 2018/09/14(金) 11:04:12.59 ID:cjIZJ/+q みんな、ごめん。使えました。 おいらがSQLビューで書くときに、どっか間違えたみたい。 クエリのエイリアスも使えるし、サブクエリでネストも出来るし、accessって凄いね。糞長いSQLを書きたくなるね。 問題は余計な括弧がいっぱいくっつくところだよね。 http://mevius.5ch.net/test/read.cgi/tech/1328536426/948
949: デフォルトの名無しさん [sage] 2018/09/14(金) 12:54:33.03 ID:cjIZJ/+q またまたくだらない質問です. UPDATEで苦労していますが,https://www.ipentec.com/document/sql-multi-record-update に書いてある update working set value=price from products where working.name = products.name だとエラーが出ます.試行錯誤して成功したのは UPDATE working, products SET working.[value] = [products].[price] WHERE (((working.name)=[products].[name])); でした.UPDATEの述語に参照するだけのproductテーブルが書いてあるのが不可解で
すね. なんで,こんな変な書き方をするのか分かる人いますか? http://mevius.5ch.net/test/read.cgi/tech/1328536426/949
950: デフォルトの名無しさん [] 2018/09/14(金) 13:41:49.29 ID:5xDSXwp0 fromが無いから http://mevius.5ch.net/test/read.cgi/tech/1328536426/950
951: デフォルトの名無しさん [sage] 2018/09/14(金) 15:43:10.38 ID:cjIZJ/+q >>950 FROMを書きました.下のようにしました.でも,演算子がありませんと怒られます. UPDATE [working],[products] SET [working].[value] = [products].[price] FROM [products] WHERE ((([working].[name])=[products].[name])); http://mevius.5ch.net/test/read.cgi/tech/1328536426/951
952: デフォルトの名無しさん [sage] 2018/09/14(金) 15:43:55.27 ID:cjIZJ/+q これも同じように怒られます. UPDATE [working] SET [working].[value] = [products].[price] FROM [products] WHERE ((([working].[name])=[products].[name])); http://mevius.5ch.net/test/read.cgi/tech/1328536426/952
953: デフォルトの名無しさん [sage] 2018/09/14(金) 18:33:15.77 ID:JMy0VfN7 それだと[products].[price]の後が何だか分からん。 [products].[price]を求めるSQLをそのまま書くかJOIN使った方が良い。 UPDATE [working] SET [working].[value] = (SELECT [products].[price] FROM [products] WHERE ((([working].[name])=[products].[name]))); UPDATE [working] INNER JOIN [products] ON [working].[name]=[products].[name] SET [working].[value] = [products].[price]; スマホからテキトーに書いてるので間違ってたらスマン。 http://mev
ius.5ch.net/test/read.cgi/tech/1328536426/953
954: デフォルトの名無しさん [sage] 2018/09/14(金) 20:41:59.46 ID:cjIZJ/+q >>953 上のは,更新可能なクエリであることが必要です と怒られました. 下のは成功です.ありがとうございます. FROMを記載したコードでは出来ないというのが興味深いですね. クエリーと一般のSQLではコードを処理する方法がかが違うんですかね? 聞きかじりですが,オプティマイザとか実行計画とか言う奴ですかね? 次はクエリを参照するUPDATEを書かないといけないのですが,テーブルならOKでクエリでは怒られるんですよね. http://www.10days.org/diary/
20090705.htmlとかその他いろいろヒットしますが,VBAからSQLを発行したら出来るんですかね? とりあえず実験します. http://mevius.5ch.net/test/read.cgi/tech/1328536426/954
955: デフォルトの名無しさん [sage] 2018/09/14(金) 21:06:57.90 ID:wdFP/Mir >>951 横入だがAccessがUPDATEでのFROMを サポートしていないという意味での「FROMがないから」 じゃないの? http://mevius.5ch.net/test/read.cgi/tech/1328536426/955
956: デフォルトの名無しさん [sage] 2018/09/14(金) 21:11:41.20 ID:wdFP/Mir >>954 確かAccessはUPDATEでFROMは使えないぞ http://mevius.5ch.net/test/read.cgi/tech/1328536426/956
957: デフォルトの名無しさん [sage] 2018/09/14(金) 21:32:20.19 ID:cjIZJ/+q >>956 マジすか?ありがとうございます. SQLって方言が多いんですね. http://mevius.5ch.net/test/read.cgi/tech/1328536426/957
958: デフォルトの名無しさん [sage] 2018/09/15(土) 02:34:58.26 ID:7Yaecm93 UPDATE文は特に方言が多いんだよ http://mevius.5ch.net/test/read.cgi/tech/1328536426/958
959: デフォルトの名無しさん [] 2018/09/15(土) 11:35:48.46 ID:AVfR6YnT >>954 更新クエリに設定しろ http://mevius.5ch.net/test/read.cgi/tech/1328536426/959
960: デフォルトの名無しさん [sage] 2018/09/16(日) 09:41:31.06 ID:o5IUt/R9 昔はオラクルとかに直接更新クエリ実行しようとして固まってたなあ、、、 ハード性能上がった今でも固まるのかね? http://mevius.5ch.net/test/read.cgi/tech/1328536426/960
961: デフォルトの名無しさん [sage] 2018/09/16(日) 16:10:48.91 ID:qqKBC7cw リンクテーブルに対して何かするのを「直接」とは言わないからな? http://mevius.5ch.net/test/read.cgi/tech/1328536426/961
962: デフォルトの名無しさん [] 2018/09/16(日) 18:15:18.31 ID:HF0YmRsW アスペですね http://mevius.5ch.net/test/read.cgi/tech/1328536426/962
963: デフォルトの名無しさん [sage] 2018/09/16(日) 19:05:43.00 ID:8jdJAOdP それ以前に、ハード性能で固まったことなんてないんだが 単に遅いだけで固まったって言ってるのかね http://mevius.5ch.net/test/read.cgi/tech/1328536426/963
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 39 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.019s