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

Access使い集合!

■ このスレッドは過去ログ倉庫に格納されています
0001名無しきぼうNGNG
UNIX時間(1970年から秒単位10桁やつ)を
Access or VB で yyyy/mm/dd hh:mm:ss に変換する方法を
教えて下され!
0652しろNGNG
>647
この場合ではNzは使った事無いな。特に問題はないですか?
無いなら便利そうだから使ってみようと思うけど・・・。
0653646NGNG
>>649
自分で使うときは関数にしてるよ。
方法の提示ということで開いて書いたんだが。
0654デフォルトの名無しさんNGNG
>>651
コードが見やすくなるなら一度しかなくても関数にする。
二度、三度あるなら結構関数にするだろうし、
「最近は」といえるくらいならほぼ確実に関数にする。
実行速度の低下は限りなく0に近い。数万回程度じゃ体感できない。
まともな関数(関数外の変数への直接なアクセスが少ない等)なら保守性は上がる。

もし関数を日常的に作成していなければ、それはプログラムと呼べるレベルに達していない。
0655しろNGNG
>654
ご回答ありがとう!なるほどー。

> 二度、三度あるなら結構関数にするだろうし
・・・・
2、3回でてくる物だと大抵関数にしてます。
つーか、何度も同じ事書くのはめんどくさいので関数にしてます。

↓ただ、これが結構心配だったのです。

> 実行速度の低下は限りなく0に近い。数万回程度じゃ体感できない。
> まともな関数(関数外の変数への直接なアクセスが少ない等)なら保守性は上がる。

逆に保守しにくいんじゃないかとか、実行速度がカナリ落ちるのでは?
とか思ってました。

でも、
> コードが見やすくなるなら一度しかなくても関数にする。

これは、場合によると言う感じでした。
 If Isnull(Me.小林) or Len(Me.小林)=0 Then
この程度の長さのもので、1度しか使わないような場合は
関数にする方が判りにくいかと思って、関数にはしていませんでした。
(ちなみに、今回の例の物は関数にしてます)

周りに参考になる人間がいないので、大変参考になりました。
ありが�d!!
0656デフォルトの名無しさんNGNG
すんません、どなたかご教授下さい。

Access2002において以下のようなコードを書き、実行しました。
(一連の処理はあるのですが端折ってあります)

1  '宣言
2  Dim ThisDb As Database
3  Dim ThisRs(1) As Recordset
4
5  '代入
6  Set ThisDb = CurrentDb
7  Set ThisRs(0) = ThisDb.OpenRecordset("MST_tblFinance", dbOpenDynaset)
8  Set ThisRs(1) = ThisDb.OpenRecordset("MST_tblBank", dbOpenTable)

7行目で「型が一致しません」と言うエラーが出てしまうのですが、
宣言に間違いなどございますでしょうか?

…もうだめぽ(;´Д`)ノ
0657デフォルトの名無しさんNGNG
656です。
自己解決しますた。

後で結果を書きに来ますー
0658デフォルトの名無しさんNGNG
<Before>

1 '変数宣言
2 Dim ThisDb As Database
3 Dim ThisRs(1) As Recordset
4
5 '代入
6 Set ThisDb = CurrentDb
7 Set ThisRs(0) = ThisDb.OpenRecordset("MST_tblFinance", dbOpenDynaset)
8 Set ThisRs(1) = ThisDb.OpenRecordset("MST_tblBank", dbOpenTable)
9 Set ThisRs(0) = ThisRs(0).Open
10
11 'レコードセット移動
12 ThisRs(0).MoveFirst
13 ThisRs(1).MoveFirst

<After>

1 '宣言
2 Dim ThisDb As Database
3 Dim ThisRs(1) As Object
4
5  '代入
6 Set ThisDb = CurrentDb
7 Set ThisRs(0) = ThisDb.OpenRecordset("MST_tblFinance", dbOpenDynaset)
8 Set ThisRs(1) = ThisDb.OpenRecordset("MST_tblBank", dbOpenTable)
9
10 'レコードセット移動
11 ThisRs(0).MoveFirst
12 ThisRs(1).MoveFirst

Beforeの9行目で7行目の処理とダブっていたThisRs(0).Openを削除、
Afterで3をObjectでの宣言に変えたら動きました。

疲れた…
0659デフォルトの名無しさんNGNG
>>658
オナニーは部屋でやってください。
0660デフォルトの名無しさんNGNG
>658
何故Object型だと問題ないのか?
型が違うというメッセージの意味は?
これを考えてみて欲しい。

ヒントは、参照設定・DAO・ADOだ。
がんがれ。
0661maiNGNG
入力フォームを作成して、コマンドボタンを押すとテーブルの該当項目に追加するロジックを作ったのですが、
DoCmd.GoToRecord , , acNewRecを使用すると、フォームの各コントロールの入力値が消去されてしまいます。
コントロールの入力値はそのままで、テーブルに項目を追加したいのです。
何か良い方法、アドバイスお願いします。
0662デフォルトの名無しさんNGNG
>>661
.DefaultValueに突っ込むとか非連結にするとか。
0663maiNGNG
≫662
ありがとうございます。
項目数がおおいのでDefaultValueに値をいれる方法よりも、
テーブルに追加する方法を変更したいのですが・・

よろしくお願いします。
0664662NGNG
>>663
よろしくと言われてもなぁー。
つーか項目多いったって255も無いわけだろ?
そもそもコントロールのコレクションを回してみるとか、やりようはあるだろう。
良い方法が見つかったらここに書いてくれ。
よろしくお願いします。
0665デフォルトの名無しさんNGNG
コンボボックスの規定値を、その前に入力されたフィールドの値から
設定したいのですがやりかたがわかりません。

品名を選んだら品名テーブルに登録されている勘定科目が
規定値になる。ただし変更も可。

コンボボックスに表示される要素の何番目にその勘定科目が存在するか
を調べてセットするんだと思いますが(For Each?)
書き方が全然わかりません。
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
更新可能なクエリに変える。
■ このスレッドは過去ログ倉庫に格納されています