トップページ⇒tech
1001コメント375KB

Access使い集合!

■ このスレッドは過去ログ倉庫に格納されています
0001名無しきぼうNGNG
UNIX時間(1970年から秒単位10桁やつ)を
Access or VB で yyyy/mm/dd hh:mm:ss に変換する方法を
教えて下され!
0666デフォルトの名無しさんNGNG
>>665
Private Sub こんぼ_AfterUpdate()
Me.こんぼ.DefaultValue=Me.こんぼ
End Sub

こーゆーこと?
0667665NGNG
>>666 さんのシンプルな回答?がわかりません(涙

◆コンボA  品名:品CD:勘定CD(名以外は非表示)
◆コンボB  勘定名:勘定CD
コンボAで、ある品名を選択したらコンボBにその勘定名がセット
される(変更は可能)ってイメージです。

複数列あるコンボの規定値セットは
コンボB=コンボB.itemdata(n) n…上から何個目
しか知らないのですが DefaltValueで複数列を"ああ;11"
とか"ああ,11"みたいに直接書セットできるのでしょうか?
0668666NGNG
>>667
根本的なところを誤解してるようだけど、コンボにせよリストにせよ1つの値しか持つことが出来ない。
プロパティに連結列ってのがあるっしょ?
それがコンボボックスの値。
あと規定値という言葉と値という言葉が混同している気がする。
これ以上説明しようとすると長くなるので省略。
0669デフォルトの名無しさんNGNG
>>668
間違い。Columnでいくつでも持てる。

>>667
コンボAのafterupdateイベントの後に、コンボAのColumn内のその値を走査して、
見つかったらそれに対応する勘定CDをコンボBに入れてやればいいだろ。
0670デフォルトの名無しさんNGNG
>>663
じゃーINSERT発行したれ。
0671デフォルトの名無しさんNGNG
西暦を元号に直す関数って存在するでしょうか?
ただし、年データ、日付データはないです。
単純に
2002→平成14年
と直すだけなんですが・・・

YYYYMMDDの場合は簡単にできるんですけどね・・・
どなたかご助言お願いします。
0672デフォルトの名無しさんNGNG
>>671
元号って言い方がおかしい気が・・・。年データが無いとは?
それはおいといて、勝手に月日追加すればいいじゃん。
1989年とかをどうするか考えてね。
0673デフォルトの名無しさんNGNG
671
MsgBox Format(#1/7/89#, "ggge年")
MsgBox Format(#1/8/89#, "ggge年")
0674デフォルトの名無しさんNGNG
レポートで、詳細部分の印刷をコントロールしたいのですが・・・
(今やりたいのは、一定数のレコード印刷したら次ページ、という制御)
コードでやるにはどのような記述がほしいでしょうか?
ヒントでもいいのでアドバイス頂けると幸いです。

0675デフォルトの名無しさんNGNG
SQLでmdbからレコードを抽出しようとしているんですが、
これまでPostGresでは Limit 10 とやると10件のみレコードが取れたのですが、
mdbではこれが使えないようで、いったいどうやればいいんでしょうか?
0676デフォルトの名無しさんNGNG
ヘルプぐらい読もうぜ…。
0677675NGNG
実はhelpが壊れてて読めないんだ。
立ち上げようとすると強制終了。
0678デフォルトの名無しさんNGNG
id,日付 というテーブル構成で、たとえば同じidのレコードが
2つ以上あった時
例:
(id) (日付)
3 yyyy/mm/dd hh:mm:ss
3 yyyy/mm/dd hh:mm:ss
3 yyyy/mm/dd hh:mm:ss

この中の一番日付が古いものだけ消して、同じidのレコードを
2つだけにしたい場合はどうしたらいいでしょうか?
0679デフォルトの名無しさんNGNG
>>678
仕様書ぐらいまともに書けんのか ?

> 一番日付が古いものだけ消して
> 同じidのレコードを2つだけにしたい
どっちが優先なんだ ? (つまり、同じ id のレコードが四つあったらどう
すんだ ?)
0680デフォルトの名無しさんNGNG
>>674
改行コントロールのVisibleプロパティと詳細_Formatイベント。

>>677
だったらまず修復する事が先だろ?
0681デフォルトの名無しさんNGNG
>675
Top 10
0682デフォルトの名無しさんNGNG
レポート上で、数値項目を均等割りで表示しているんですが、0や8などの数値が、
右端で半分切れて表示してしまいます。(8ならεみたいに)
フォントサイズ変えたりしたんですが、どうがんばっても右端だけ切れてしまって困っています。
何か良い方法ないでしょうか?
0683デフォルトの名無しさんNGNG
>682
コントロールがぎりぎりの大きさだとかじゃなかったら
右余白プロパティで調整してみたらイイ。
0684682NGNG
>>683
レスありがとうです。
コントロール幅を0.2インチ増やして、右余白を0.2インチにしてみました(増やした分を余白にした)
しかしながら、結果は同じです・・・0.01インチぐらいはマシになった程度・・・
均等割り使うと無理なのかな(T−T)

引き続き、情報お待ちしています。

#帳票の都合上インチ単位にしてます。
0685デフォルトの名無しさんNGNG
>>684
文字に変換して前後にスペースを入れてから表示してみては?
0686683NGNG
>684
うーむ、こっちではそれなりにダイナミックに右があいたが。
ひょっとして、VBAでセットしてない?twip値になるよ。

あとはプリンタドライバだな。
0687デフォルトの名無しさんNGNG
フォント変えろ。あとイタリック体はやめとけ。
0688デフォルトの名無しさんNGNG
質問です。
印刷時に、特殊な紙に印刷するため、用紙サイズをユーザー指定で行いたいのですが、
それができません。
ワードには用紙サイズ指定のところで、「ユーザー定義」という個所がちゃんとあったんですけど・・

ACCESSでそれを行う場合、どうすればよいでしょうか?


ちなみに、用紙サイズは10インチ×7インチです。
0689デフォルトの名無しさんNGNG
>688
ページ設定しる!
0690デフォルトの名無しさんNGNG
使いたい用紙サイズより大きい用紙を選んで、余白を調整する。
0691688NGNG
>>689
ファイル−ページ設定ですよね?
そこにもユーザー定義の設定がないんですよ・・・・

>>690
連続用紙でドットインパクトプリンタで印刷するので、余白で調整という小細工をすると
2ページ以降がズタズタに狂ってきてしまわないでしょうか?
0692689NGNG
>691
ファイル−ページ設定−ページに「用紙サイズ」ないか?
オレのAc2kとEpsonのレーザプリンタの組み合わせならユーザ定義サイズが選択できるが。
0693689NGNG
ドットプリンタだったのね・・・
0694デフォルトの名無しさんNGNG
>>691
OS、プリンタの種類による
NT系ならコントロールパネル-プリンタサーバーのプロパティ
新しい用紙を作成する
0695修正NGNG
>NT系ならコントロールパネル -> プリンタ -> サーバーのプロパティ
0696デフォルトの名無しさんNGNG
とりあえず、そのプリンタの機種名教えれ >688
0697デフォルトの名無しさんNGNG
休みが入ったのでレスが遅くなりました。

プリンタの機種名は
NEC MultiImpact 700JX
です。

ただ、気になるのは、700JXを使ってる他の人のマシンだと「ユーザー定義」があったりなかったりします。
私のマシンは一応ドライバが最新です。(週末にNECからDLしてきました)


とりあえず、サーバのプロパティを見てみます。


0698688NGNG
あ、上のカキコ、わかると思いますが、>688です
0699688NGNG
コンパネのプリンタにサーバのプロパティがあったので、10×7インチのサイズを追加してみたんですが、
ACCESS上のページ設定には、追加したはずの10×7インチのサイズがありません(T-T)
方法が悪いのかな・・・・

引き続き情報お待ちしています・・・
0700デフォルトの名無しさんNGNG
>>699
追加したサイズのプリンタを選べてないのでは・・・。

ページ設定→ページ→その他のプリンタ→プリンタの設定→プリンタ名で
NEC MultiImpact 700JXを選択すればいいのでは?
0701688NGNG
>>700
普段から選んでいます^^;

どうも9x系だとできるという噂を聞いたので、
9x系でやってみることにしますが・・・



心配だ(T-T)
0702デフォルトの名無しさんNGNG
http://www52.tok2.com/home/katohp/paintb/data/IMG_000024.jpg
0703デフォルトの名無しさんNGNG
52
0704デフォルトの名無しさんNGNG
ネコ猫ねこ
0705デフォルトの名無しさんNGNG
VBでApp.pathで、そのプログラムのあるディレクトリのフルパスが取得できますよね。
それをAccessVBAでやとうろしても出来ないのです。
AccessVBAでそのアクセスファイルのあるディレクトリは取得できないのでしょうか?
0706デフォルトの名無しさんNGNG
>>705
CurrentProject.Pathでフォルダ名、
CurrentDb.NameでMDBのフルパスが取得できます。
0707デフォルトの名無しさんNGNG
>>701
少なくともうちの環境では追加した用紙サイズ使えてる
700JX Windows2000
0708705NGNG
>>706
出来ました!ありがとう。
0709yukiNGNG
AccessVBAの処理でテーブルにレコード追加するロジックをVBで作成・共通関数化
し、複数mdbよりコールし使用する。こんな処理ってできます?
できるならば、実現方法と参考URLをお教えていただきたいのですが。

よろしくお願いします。
0710デフォルトの名無しさんNGNG
>709
それよかプログラムのみのmdbを一つとデータのみのmdbを複数
用意して、プログラムmdbからリンクを張って使うほうが現実的じゃ
ないかぇ?
0711デフォルトの名無しさんNGNG
>709
出来ないわけが無い。
というか、MSのユニバーサルデータアクセスの概念分かっている?
http://www.microsoft.com/japan/msdn/data/default.asp
0712yukiNGNG
>>710,711
ありがとうございます。

≫710
確かにその通りなんですが、VBを使用するロジックをどこかの処理で開発
しなければいけないのです。(上司命令)
VBとアクセスを併用する利点が理解できないのですが…(VBAで良いだろうと言いたい)

≫711
ありがとうございます。じっくりよんでみます。
0713デフォルトの名無しさんNGNG
>>711
なんでユニバーサルデータアクセスがでてくるんだ?
0714デフォルトの名無しさんNGNG
>713
AccessもVBも、すべてのMSプロダクトのDBアクセスは、UDAの上に成り立てっている。
用は、AccessVBAで操作しようとも、VBから操作しようとも結果同じ事が出来る。

>712
VBで処理部をつくってAccess側で呼び出すとなると、VBでコンパイルしてAccessVBAから
オブジェクト呼びするという事だろうから難易度は結構上がるね。

VCだったらDLL形式の関数が作れるから、VCでコンパイルしてAccessVBAでデクレア宣言
すれば外部関数として使える。が、VBでは純粋DLL形式のプログラムは作れないから、VB
でアウトプロセスCOMかインプロセスCOMを作って、Access側からDAOやADOを呼び出す
用に使うしかない。

VBではAccessの共通関数なんか作れないからね。せひCOMで作ろうね!
0715デフォルトの名無しさんNGNG
>715
純粋DLL形式

って??
0716デフォルトの名無しさんNGNG
RecordSetを使って、片方のテーブルにあるレコードを
もう片方のテーブルにひとつずつ追加していくコードを作ろうとしています。

 Rs(0).MoveFirst
 Rs(1).MoveFirst

 Do Until Rs(0).EOF

   Rs(0).AddNew

    Rs(0)!ID = Rs(1)!ID
    Rs(0)!Name = Rs(1)!Name
    Rs(0)!NameKana = Rs(1)!NameKana
    Rs(0)!Tel = Rs(1)!Tel
     ・
     ・
     ・
    Rs(0)!Note = Rs(1)!Note

   Rs(0).Update

   Rs(0).MoveNext
   Rs(1).MoveNext

 Loop

Rs(0).AddNewとRs(0).Updateの間の
フィールドをひとつずつ指定する部分を
何とかして省略出来ないものでしょうか?
(Rs(0)とRs(1)のフィールド等は全て同じです)

どなたかご存知でしたら御教授下さい。
0717デフォルトの名無しさんNGNG
>>716
for each
0718デフォルトの名無しさんNGNG
Accessのデベロッパーってすごいな。
0719デフォルトの名無しさんNGNG
>716
やりたい事はわかるんだが・・・
単純にINSERTじゃイカン理由でもあるのか?

めちゃ遅いよ、それ。
0720デフォルトの名無しさんNGNG
>>719さん

一連の処理の流れ&欲しいデータとしては以下の通りです。

Table1、Table2、Table3がある。
フィールド構成は以下の通り。

 Table1(ID,Name,NameKana,Tel,Sex)
 Table2(ID,Name,NameKana,Tel,Sex)
 Table3(ID,Name,NameKana,Tel,Sex)

 (3つ全て同じフィールド構成です)

 んで、この中に入っているデータは以下の通り。

 [Table1]
 1,Mona,モナー,743,Male
 2,Giko,ギコ,774,Male
 3,Morara,モララー,7743,Male
 4,Shee,シー,74,Female
 5,Fusagiko,フサギコ,07743,Male

 [Table2]
 2,Giko,ギコ,774,Male
 4,Shee,シー,74,Female

 [Table3]
 ,,,,
 (データ無し)

 で、Table1とTable2のIDを比較して、
 2つのテーブルにおいて共通しているレコード
 (この場合だと 2,Giko,ギコ,774,Male と 4,Shee,シー,74,Female)を
 そっくりそのままTable3に追加していって、
 最終的にTable3にはTable1,Table2で共通するレコードのみが保存される、
 と言った感じにしようと思ってます。

このルーチンをRecordSetを使って組み立てるべくコードを作ってみたのですが、
RecordSetだと前述したようにフィールド1つ1つを対にしなければ
いけなかったようで…。

厨房的考えですが、

 Rs(0) = Rs(1)

ぐらいの指定でレコードを追加していけたらなー…
と思ってた次第です(;´Д`)
0721デフォルトの名無しさんNGNG
>720
これは、SQLを勉強して作成して下さい。
1行のSQL文一発で終わります。

>716 のような方法はデータベース素人の処理方法ですよ。
これ業務系のシステムでやったら確実に怒られます。基本的にカーソルを使用する
ような処理法は、どうにもならない場合の最終手段です。
0722デフォルトの名無しさんNGNG
>>721さん

アドバイスありがとうございました。
SQLだと…こんな感じでしょうか。

 INSERT INTO Table3
 SELECT Table1.* FROM Table1 INNER JOIN Table2 On Table1.ID = Table2.ID
 WHERE Table1.ID = Table2.ID
 ORDER BY Table1.ID ASC;

どうもRecordSetの方が扱い易いので
つい使ってしまっていたのですが…
これからは注意したいと思います。

夜遅くまでありがとうございました。
0723純粋DLLNGNG
>715
純粋DLLとは、WindowsAPIのように、Declare Function で宣言して使用する事の出来る
DLLとでも言いましょうか・・・。表現できないので御免なさい。(だれか補足して!)

ようは、普通のCやVCで作った簡単なやつです。VBで作るDLLはCOMなんですよ。
0724デフォルトの名無しさんNGNG
>722
Accessでも、更新クエリーか何かでビジュアルにつくれるからこれを利用しましょう。
>720 のようにカーソルを使うと、極端なまでのレスポンス低下を招きます。
0725デフォルトの名無しさんNGNG
>>724
Accessでクエリ作成に慣れると、他dbでSQLが書けなくなる罠。
すげー便利なんだもんなぁ。
0726デフォルトの名無しさんNGNG
>725
安心しろ、SQL鯖にはクエリビルダがあるから(違
0727デフォルトの名無しさんNGNG
MSオフィス付属のMSクエリーが、他のDBサーバーにも使えるぞ!!
0728デフォルトの名無しさんNGNG
現在アクセス2000を使用しております
そこでクエリについてのしつもんですが、
2つクエリをつかって結果をもとめています。
ひとつめのクエリはクロス集計クエリを使用しており
2つ目は選択クエリを使用しています。
そこで一つ目のクロス集計の内容をクエリ2に反映させているわ
けですが、
クエリ2で
「1: IIf(IsNull([クエリ1のクエリ名].[1]),
   0,([クエリ1のクエリ名].[1]))」
上記構文でクエリ1の「1」というフィールドが
NULLの場合は0を配置しております。
そこでそのクエリ1の「1」というフィールドが無い場合も0を既定で配置したいのですが、
なにか良い方法はないのでしょうか?
クエリ1のフィールドは「1」から「10」まであり
クロス集計でその値をもとめています。しかしもしクロス集計で集計でフィールドがある場合はいいのですが、無い場合もあるのです。
そのときの処理をおこないたいのですが・・・・
アドバイスの方宜しくお願いします。
0729デフォルトの名無しさんNGNG
>728
クロス集計クエリをデザインビュー開いて、右クリック、プロパティで
列見出しを設定し、フィールドが固定しる!
0730デフォルトの名無しさんNGNG
>>728
>クロス集計クエリをデザインビュー開いて、右クリック、プロパティで
>列見出しを設定し、フィールドが固定しる!
ありがとうございます。
早速やってみたいとおもいます。
0731デフォルトの名無しさんNGNG
ついでにNzも使っとけ
0732デフォルトの名無しさんNGNG
ああ、Nzって便利だよね。
NzってVBにあったけ?
0733デフォルトの名無しさんNGNG
>732
ない。けっこー便利だから自前で作るしか。
0734デフォルトの名無しさんNGNG
Accessを使えるようになるために、
データベースを学習する必要がある
Accessを学習する必要がある
Accessのマクロ言語VBAを学習する必要がある
大変やな

やっぱりAccessのデベロッパーてすごいな
0735デフォルトの名無しさんNGNG
>>734
我が会社のCOBOLerでも使えてますが何か?
0736デフォルトの名無しさんNGNG
教えて!、Access2002になってプリンタの設定関連のやりかた変わった?

レポート印刷前に「プリンタの設定」ダイアログを出す方法について、
Access2000の参考書(Access VBA応用プログラミング と Access2000場面別108こうしたい!)
には

DoCmd.SelectObject acReport, "レポート", True
DoCmd.RunCommand acCmdPrint

で良い・・と書いてあったのですが、、WinXP & Access2002ではうまくいかないようです・・?
(出力先をAcrobat Writerにしていたのですが、、エラーが出て、出力されたPDFを見ると、レポートじゃなくて画面イメージが出力されている)

http://www.microsoft.com/japan/msdn/officedev/officeXP/ODC_acc10_Printers.asp
に何やらむずかしい事が書いてあるのですが・・・
こんな面倒な事をしなくてはならなくなったのですか?
知っている方いましたら教えてください。
0737デフォルトの名無しさんNGNG
>>735
COBOLのデベロッパーてすごいな
0738デフォルトの名無しさんNGNG
Microsoftってさぁ
結局、2000のヘルプがおかしいのも
しょっちゅう「直前の処理はキャンセルされました」
って出るのも直す気ないだろうねぇ。2002だと直ってるのか?
0739デフォルトの名無しさんNGNG
>>738
>しょっちゅう「直前の処理はキャンセルされました」
こんなの出たっけ?
0740デフォルトの名無しさんNGNG
>738
2000のヘルプがおかしいってどんな風なの?
おかしくなったことないんだけど。
0741デフォルトの名無しさんNGNG
>>738
MSのヘルプは使いやすい方だと思うけどなぁ。そういう意味じゃなくて?
「直前の〜」って出たこと無いんだけど、元に戻っちゃうの?
0742しろNGNG
738じゃないですが
以前「直前の処理はキャンセルされました」 って出たことあります。
何をしても修復不能で、諦めて97にバージョンダウンしました。

私の場合、ボタンを押してフォームを開くだけの処理で
ボタンを押すと「直前の処理はキャンセルされました」 と言われ
フォームが開けなくなり、どうしようもありませんでした。

ヘルプは2000以上だと検索したりした場合、関係ない語句がヒットしたり、
見つからなかったり、必要な関数がヘルプに無かったりします。
97の方がヘルプの使い勝手はかなり良いです。

マイクロソフトのヘルプデスクに電話した時聞きましたが、マイクロソフト側
でもこの件についての認識はあるようです。
修正する気は無いみたいですが・・・(-_-;)
0743デフォルトの名無しさんNGNG
「直前の・・・」は
ttp://support.microsoft.com/default.aspx?scid=http%3a%2f%2fwww.microsoft.com%2fJAPAN%2fsupport%2fkb%2farticles%2fjp416%2f3%2f57.asp
一日の最後にこれが出て仕事がすべて吹っ飛ぶと泣けてきます

ヘルプのほうは >>527 と同じ
0744デフォルトの名無しさんNGNG
こういうことってできるでしょうか?上手く書けるかどうかも自信無い…
1.フォーム・リストボックスでテーブルからクエリーで選択。
2.選択したレコードをエクセルにエクスポート。
3.その際、.XLSのファイル名を、リストボックスで選んだ項目を使う。
例えば住所録の選択で、リストボックスは都道府県として、
エクスポートするときのファイル名を、
東京都.XLS とか 埼玉県.XLS にしたいのです。
ど素人で済みませんが、どなたかお知恵を貸してください。
0745デフォルトの名無しさんNGNG
>>744
かなり理解に苦しむんだけど、
リストボックスで条件を指定し、その結果を任意のファイル名.xlsとしてエクスポートしたいって事?
それであればクエリオブジェクトを作成とか、Where句に埋め込んだ関数で誤魔化すとかしたモノをエクスポートするだけです。
0746デフォルトの名無しさんNGNG
>743
こっちは問題なく出てくるが。インストールで変なことしたんじゃないのか?
>527ともども。

バージョンが分からんが2000なら、ADO210.CHMがADOのヘルプだが。
0747デフォルトの名無しさんNGNG
>>527
>>743
これ関係するかな?
http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2Fjp249%2F0%2F65%2Easp&LN=JA
0748デフォルトの名無しさんNGNG
>直前の〜
ってやつ、自分のマシンでは一度も出たことがないが、客先でしばらく使わせておくと、突然そんな状態になる。
環境依存したバグか?
0749デフォルトの名無しさんNGNG
むしろ使い方の問題。
0750デフォルトの名無しさんNGNG
ACCESS97でクエリについての質問なんだけど、
1 Aのテーブルに個人コードと合計点数フィールド
2 Bのテーブルに個人コードと点数フィールド
このとき、ひとつの更新クエリでBの点数を合計して、Aの合計点数を
更新しようとすると”更新可能なクエリでなければいけません”
というエラーになるんだけど、回避策はありませんか。
 現在は、合計したものを中間のテーブルに一度追加してから更新してます。
しかし、中間テーブルが増えすぎて面倒なのです。
0751デフォルトの名無しさんNGNG
>>750
更新可能なクエリに変える。
0752デフォルトの名無しさんNGNG
>>750
更新クエリが何かまず調べろ。
0753デフォルトの名無しさんNGNG
>750
結合プロパティが適切でないか、よけいなフィールドが入ってるとかで
更新される側が一意でないと思われ・・・・。

その更新クエリをSQLビューで表示して、ここにコピペしてみたら。
フィールド名とかは適当に変えて。
0754750NGNG
こういうやつです。

テーブルA
個人コード合計
A0010
A0020
A0030

テーブルB
個人コード点数
A001100
A00180
A00190
A002100
A00280
A00290
A003100
A00380
A0030
0755750NGNG
上のは失敗。

テーブルA
個人コード 合計
A001 0
A002 0
A003 0

テーブルB
個人コード 点数
A001 100
A001 80
A001 90
A002 100
A002 80
A002 90
A003 100
A003 80
A003 0
0756750NGNG
この状態で、Bの点数を合計するクエリ「Q_点数の合計」を作成。
SELECT B.個人コード, Sum(B.点数) AS 点数の合計
FROM B
GROUP BY B.個人コード;

上記のクエリを使って、テーブルAを更新 「エラークエリ」

UPDATE Q_点数の合計 INNER JOIN A ON Q_点数の合計.個人コード = A.個人コード SET A.合計 = [Q_点数の合計].[点数の合計];

こうするとエラーになってしまいます。どうしたらいいでしょうか?
0757753NGNG
>756
申し訳ない。勘違いをしてた。1対多のとき1側のフィールドは更新できないんだ。

この場合「Q_点数の合計」で済ませよう。
SELECT A.個人コード, Nz(Sum(B.点数),0) AS 点数の合計
FROM A LEFT JOIN B ON A.個人コード = B.個人コード
GROUP BY A.個人コード;
で、どう?
0758デフォルトの名無しさんNGNG
>747
これだヘルプがコピーされてない SR-1にはしてあるんだけども
あ サーバインストールしてあるけどもサーバ側はSR-1になってないな
サーバインストールしたのってどうやってSR-1にするんでしょう?

>749
そのとおりだとは思うが さてどういう使い方が問題なんだろうか
0759デフォルトの名無しさんNGNG
>>756
目的がテーブルAにBの合計を設定って事なら
DELETE * FROM A
でAをクリアした後に
INSERT INTO A(個人コード, 合計)
SELECT B.個人コード, Sum(B.点数) AS 点数合計 FROM B GROUP BY B.個人コード
てなSQLを投げる……のでは駄目?
スマートではないかも知れないけど。
0760750NGNG
>757
目的は、Aの合計フィールドを更新することなので
ちょっとちがうっぽい。そのクエリを使って更新しようとしても
エラーになってしまします。
あと気になったのですが、”1対多のとき1側のフィールドは更新できない。”
ってことは、もしかして、集計関数使ってるクエリを元ににして更新できないってことですか?。

>759
私も、750で書いたんだけど、一度中間テーブルに追加して、それから
更新してるんですが、〜中間というテーブルが増えすぎて困ってるのです。
Aのテーブルは、ずっと溜めてくものなのでデリート出来ないです。

ところで、これはACCESS特有のエラーなのですか。
先輩がACCESSのクエリは癖があるって言ってたんですが、
SQLサーバーやオラクルなら可能?
0761デフォルトの名無しさんNGNG
>>760
>集計関数使ってるクエリを元ににして更新できないってことですか?。

ヘルプにそのあたりは書いてある。
エラーメッセージで検索してみたら?
0762仕様書無しさんNGNG
ぐっすん ヽ(`Д´)ノ

String のデータと同じ名前のプロシージャを呼ぶには
どうしたらいいのでしょうか。 
0763デフォルトの名無しさんNGNG
>762
具体的には?
0764753NGNG
>760
ちょっと惑わしてしまったので、サービスだ。次のヘルプを読むといい。

Access97の場合
目次→クエリ→アクションクエリの作成→更新クエリ→トラブルシューティング:更新クエリで
「更新可能なクエリでなければ・・・・・・・」

Access2000の場合
目次→ヘルプ→アクセスのトラブルシューティング→トラブルシューティング:クエリ→トラブルシューティング:更新クエリで
「更新可能なクエリでなければ・・・・・・・」

対応方法が書いてあるよん。
0765デフォルトの名無しさんNGNG
合計フィールドを更新、なんて出来るのかと…
■ このスレッドは過去ログ倉庫に格納されています