2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Access2000+SQL Server難しい・・・(´д`;)

1 :1:01/10/03 17:04
今までACCESSのみでフォームやレポートを作成するときワーク
テーブルを作成しそれをレコードソースとして作成していました。
しかし、ADOではクライアントにワークテーブルを作成する事が
できないですよね。
皆さんはこの辺をどういう方法で処理していますか?
本によるとストアドプロシジャーを使って対応できるとか書いてあり
ますがいまいち方法はわかりません。

2 :ACCESS超初心者:01/10/03 20:57
私もこれ やりかた探してるんですが・・・
Transact-SQLのヘルプで CREATE TABLE ってあるんですが、ここに「一時テーブル」っていうのがあるんです。
クライアント側に作るんじゃないけれど 同じような使い方ができそうなんですけれど・・・
ストアドの中で作ってその間だけしか使えないと プログラム全体(フォームとか)をストアドの中で
呼ばないと使えないのかな?
とか・・・ よくわからないのです。
ヘルプの意味もよくわからない・・・ (/_;)

どなたか詳しい方いらしたら教えてください!!
わたしからも よろしくお願いします!! m(u_u)m

3 :名無しさん@そうだ選挙にいこう:01/10/03 22:48
クライアントにワークのmdb作るだけじゃないのか?
ado接続もできるんだし。

4 :ACCESS超初心者:01/10/04 02:09
あれ? 私は1の方の書いてる意味を 勘違いしてたみたいです。

ワークテーブルってテンポラリーのテーブル=一時テーブルのことだと思っちゃいました。

スミマセン 自分が一時テーブル使いたくて探してたもので「同じ質問の人がいる〜」って
思ってしまいました。
こちらも ご存知でしたら 教えてください、お願いします。

5 :名無しさん@そうだ選挙にいこう:01/10/04 02:33
>>1 フォームのレコードソースにするだけならビューを使えばいいのでは。
   またはSQL文を直接レコードソースにいれれば。

>テンポラリーのテーブル=一時テーブル
って何のために??フォームをストアドで呼ぶというのもよくわからん。
ストアドはデータベース側で動くもので、
クライアントはコマンドとパラメータを渡すだけだよ。

何がやりたいかを書けばレス付くのでは?

6 :名無しさん@そうだ選挙にいこう:01/10/04 05:52
>>2
一時テーブルはクライアントがDBを閉じるまで有効だったと思います。
ストアドの実行方法を理解されてることを前提に書きます。

SELECT ・・・ INTO ##テーブル FROM テーブル WHERE 1 = 2
とか
CREATE TABLE ##テーブル (・・・)

とかで、とにかく'##'の付いたテーブルを作ると一時テーブルができるわけで、
##テーブルをフォームのレコードソースにできます。
ストアドの中でデータ作って参照だけならそれだけでいいけど、
フォームでデータを編集する場合、主キーが必要だったように思います。

ALTER TABLE ##テーブル
ADD CONSTRAINT PK_テーブル
PRIMARY KEY (キー)

って感じで主キーを作ります。
フォーム閉じる時は一時テーブルを消さないといけませんね。

DROP TABLE ##テーブル

間違ってたらスマン

7 :1:01/10/04 10:02
早速たくさんの人たちに書きこんで頂いて喜んでおります。

>>2
多分、同じ悩みだと思いますので問題解決にご協力をお願いします。

>>3
現在の開発環境はAccess2000を.adpで作成し使用しています。.adpで使用すると
接続できるデーターベースはSQL Serverのみでクライアントにワークテーブルも
作れないし、他のmdbとも接続できないようなのです。
ここが間違いで何かの方法があれば教えて頂きたいのです。
今日から、Accessを.mdbで作成し、SQL Serverのデータをodbc接続してDAOで
開発しようかなーとも思っています。

>>5
例えば、フォームのレコードソースにビューやSQL文をいれて使用した時、同じ
フォームを別のパソコンでも開いたときに問題が生じるという事はないのでしょ
うか?まだ、実験まで至ってなく頭の中で考えて多分問題が起きるのではないか
と迷っています。
フォームをストアドで呼ぶという事の質問なのですが、ストアドのレコードセット
をフォームやレポートにいれて使用できる。みたいな事が書いてあるのですが、
この方法が理解できないし、他のパソコンでも同じストアドを使用されたときに
問題がおきるのではないかと思うのです。

>>6
この時、テーブルはクライアントに出来るのでしょうか?
もし、サーバー側に出来たとした場合、他のパソコンでも同じ処理をしたときに
同じテーブル名が作成され問題を生じるという事はないのでしょうか?

Accessでは実績があるのですが、SQL Serverは今回が初めてで困っています。
最初からACCESS2000を.adp(プロジェクト)+SQL Server2000と書くべきでした
納期が迫っているので今回は.mdb+SQL Server2000で行こうと思います。

ただ、この件は解決方法を見つけたいと思っていますので、チョットしたきっかけ
でもいいですので今後とも宜しくお願いします。

8 :6:01/10/04 12:54
>>1
一時テーブルはサーバー側に出来ます。
クライアント毎に作成され、他のクライアントからは見えません。
同じテーブル名の問題はありません。

>>6の方法は、私は明細型の伝票入力等で使っています。

 ・フォームオープン前にストアドで一時テーブル作成
 ・伝票修正・削除の場合はストアドで該当レコードを一時テーブルに転送
 ・連結型の帳票フォームオープン(サブフォームだったりします)
 ・明細編集後の決定ボタンのアクションで明細テーブル更新処理のストアドを実行
 ・フォームクローズ時に一時テーブル削除

といった感じです。

mdbは分散型アプリケーションで、adpはホスト集中型アプリケーションの
ような感じですかね。
adpで大量のレコードを処理する場合に、ローカルマシンでやるような
VBAだけでの処理なんてことをさせると、ネットワークに負担を掛けて
しまいますので、少々面倒ですが適切にストアドを使う必要があります。
adp+SQLはmdb+SQLに比べてテーブルのオープン等の処理が速いように
思います。

ついでに、
ストアドをフォームやレポートのレコードソースにする場合、

Alter Procedure ストアド
(
@パラメータ1 nvarchar(10),
@パラメータ2 nvarchar(10)
)
As
SET NOCOUNT ON

CREATE TABLE ##テーブル (・・・)

 <処理>

SET NOCOUNT OFF

SELECT ・・・ FROM ##テーブル ・・・ ORDER BY ・・・

DROP TABLE ##テーブル

といったストアドを書き、フォームやレポートの入力パラメータプロパティに、

@パラメータ1 nvarchar(10) = [Forms].[フォーム]![パラメータ1],
@パラメータ2 nvarchar(10) = [Forms].[フォーム]![パラメータ2]

のような設定をします。
他のパソコンで同じストアドを使用しても問題は起きません。

9 :名無しさん@そうだ選挙にいこう:01/10/04 13:49
ここなんてどう?
参考になると思う。
http://www2p.biglobe.ne.jp/~sakurait/cstrue/cl1999/cl1999c4.html

10 :1:01/10/04 14:58

6番さん、9番さん、ありがとうございます。

>>8
「mdbは分散型アプリケーション
 adpはホスト集中型アプリケーション」って素晴らしい表現ですね。
サーバー側で作成する一時テーブルは名前が同じでも他のクライアントには全く
関係無い。という事、これで納得し安心しました。
クライアントの台数が多くなるとサーバーに負担が掛かるのでサーバーの負担を
軽くする意味でクライアントにワークテーブルを作成した方がいいのではないかと
思っていましたが、この考えだと逆にネットワークに負担がかかり遅くなるんです
ね。なるほど良くわかりました。
サンプルで記述されたストアドもこれから時間をさいて実験してみます。
結果はまたご連絡致します。

>>9
ここも凄く役にたちました。探している時は中々見つける事が出来ないけど、
素晴らしい情報ってたくさんありますね。

2ちゃんねるって凄いですね。みなさんに感謝感激です。
これからも宜しくお願い致します。

11 :名無しさん@そうだ選挙にいこう:01/10/04 21:33
3がとても正しいと思う今日この頃なのでした

12 :1:01/10/05 11:02
>>11
11番さん、こんにちは、
adoとmdbを一緒に使えるのでしょうか?
お忙しいと思いますのでヒントでも結構です。宜しくお願い致します。

13 :名無しさん@そうだ選挙にいこう:01/10/05 12:30
>>8
サーバーでテーブルを作ったり削除したりして
サーバーの負荷は重くならないのでしょうか?
またSQLサーバーのばあい
データエリアがフラグメントしたりしないのでしょうか?

14 :8:01/10/05 20:48
>>13
自己流なので、間違ったことを書くかも知れませんが

>サーバーでテーブルを作ったり削除したりして
>サーバーの負荷は重くならないのでしょうか?

参考書を読んだことがないので何とも言えませんが、
一時テーブルはこのような使い方をするために
あるのだと思っています。
どうしても一時テーブルが必要な場合があります。
SELECTだけで出来ることであれば、なるべく避けた方が
いいのでしょう。
最近納品したアプリケーションは8台のクライアントで
使ってますが、遅いと感じたことはありません。

クライアントやネットワークのトラブルで処理が中断
した場合に、勝手にリカバリ(削除)してくれるので、
便利です。
ローカルのmdbにアクセス中、クライアントがダウンすると、
どの様なトラブルになるか、予想がつきません。

WINDOWSを使ってる限り、クライアントがいつダウンするか
分からない、突然ネットワークが切断される場合があるという
ことを考慮して、アプリケーションを作るべきだと思います。
でないと、頻繁ユーザーに呼ばれ、にトラブル対応することに
なりますからね。

>またSQLサーバーのばあい
>データエリアがフラグメントしたりしないのでしょうか?

ACCESSと違って、勝手に最適化してくれてるようです。

15 :名無しさん@そうだ選挙にいこう:01/10/05 22:31
sqlで作成した方がいいお勧めの本は
ナツメ社のaccess2000sqlハンドブック

16 :名無しさん@そうだ選挙にいこう:01/10/05 23:15
>ACCESSと違って、勝手に最適化してくれてるようです
それに、一時テーブルはtmpdbに作成されるから、直接ユーザのDBには影響しないしね。

17 :1:01/10/05 23:28
>>14
皆様のおかげでSQL Serverの良い所やプログラミングする時の注意点等が
少しづつ分かってきました。ありがとうございます。
実をいいますと、前回、教えて頂いたストアドプロシージャでのフォーム
の作成がまだ理解出来ていないのです。

CREATE TABLE #テーブル を使用するとテーブルの定義が面倒みたいなので
SELECT INTO #テーブルが簡単でいいかなと思いこの方法を実験しているの
ですがなかなか難しいですね。
・フォームを開くとき
 SELECT INTO #テーブルを使用して一時テーブルを作成する。
 作成されたテーブル名をフォームのレコードソースに代入する
・データの入力、編集などを行う。
・登録で#テーブルからサーバー側のデータを更新する
・フォームを閉じる
 一時テーブルを削除する
この様な考えなのですが、大丈夫でしょうか?もし、考えが間違っていたら
教えて下さい。宜しくお願い致します。

18 :6:01/10/06 01:07
>>1
ほぼ大丈夫だと思います。
私も行き当たりばったりでやってますので、なんとも言えません。

とりあえず、フォームでテンポラリを参照するところから
始めてはどうでしょう? (もうこの辺は理解されてるかもしれませんが・・・)

1.ストアドを2つ作る
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Alter Procedure TEST_テンポラリ作成
As
--とりあえずテーブルをデータ毎コピー
SELECT * INTO ##テンポラリテーブル FROM test1 --テストに使うテーブル名
return
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
Alter Procedure TEST_テンポラリ削除
As
DROP TABLE ##テンポラリテーブル
return
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

2.新規フォームを作成する
 (作成を始める前に TEST_テンポラリ作成 を実行して一時テーブルを作っておいて下さい)

コントロールソースプロパティを ##テンポラリテーブル と設定する。

後はACCESSと同じ要領でテキストボックスをいくつか作って下さい。
(フォームを閉じた後は TEST_テンポラリ削除 を実行して一時テーブルを削除して下さい)

3.テスト

 TEST_テンポラリ作成 実行
 フォームを開く
 TEST_テンポラリ削除 実行

で、これらの動きが見えると思います。
レコードが編集できないことも確認出来るかと思います。

それから、データ編集する仕組みにも挑戦してみて下さい。

一時テーブル作成時に主キーを作ることをお忘れなく>>6

データ編集で私がよく忘れてしまうのは、フォームでの編集では、レコード移動時に
レコードがテーブルに書き込まれるため、最後に編集したレコードがテーブルに
反映されないままストアドを実行させてしまうことです。(ACCESSでも同じですね)
ストアド実行前にレコードを保存することをお忘れなく。

DoCmd.RunCommand acCmdSaveRecord

だったかな。

頑張って下さい。

19 :1:01/10/07 14:24
>>6
TESTテンポラリー作成について質問なのですが
1.RecordSource = "#TEST"
 RecordSource = "##TEST"
#TESTで実験した場合、テーブルが無いとメッセージが出ます。
 これはどうしてでしょか?
2.表形式のフォームに##TESTを張りつけたとき、データは正常に表示されるので
 すが、最終行に空白が空かないため追加データの入力が出来ません。
 TESTにはインデックスはセットしているのですが何が問題なのでしょうか?
 >>18で「レコードが編集できないことも確認出来るかと思います。」と説明し
 てある事がこの事でしょうか?
お忙しいのに申し訳ございませんが、教えて頂けないでしょうか?

20 :名無しさん@そうだ選挙にいこう:01/10/07 19:09
だれかSQLserver2000のCDキーを教えて下さい!!
明日までにわからないとぼくはもうダメなんです!!!

21 :名無しさん@そうだ選挙にいこう:01/10/07 20:51
WR-W50292-M1G9M52-UA107

22 :1:01/10/09 09:50
>>19
SELECT INTO ##TESTで一時テーブルを作成した場合の件ですが
元となるテーブルにインデックスがセットしてあれば##TESTにも自動的に
インデックスがセットされると思っていました。これが間違いだったのですね。

CREATE TABLE でインデックスも含めて##TESTで一時テーブルを作成し
その後、INSERT INTOでデータを代入して一時テーブルを作成したらうまく行きま
した。

SQL ServerはAccessに比べて機能が多いのでマニュアルがとても見にくいですね
シンプルなサンプルがたくさんあるといいと思います

みなさん、今後とも宜しくお願い致します。

23 :1:01/10/09 13:53
SQL ServerにTM_GYOといううマスタがあります。
ACCESS2000の表形式のフォームで、TM_GYOのデータを追加、修正、削除等が出来るようにしたいのです。
下記のような方法で、登録、修正、削除など行えるようになりました。
しかし、下記の問題が発生しました。
1.#TN_GYO では一時テーブルが作成できない。
2.同時にほかのパソコンで同じフォームを開くと##TN_GYOが既に存在します。になります。
3.マニュアルには
 『ローカル一時テーブルが、複数ユーザーが同時に実行できるストアドプロシージャ
  またはアプリケーションで作成される場合、SQL Server は、異なるユーザーが作成
  する個々のテーブルを区別できなければなりません。SQL Server は、各ローカル
  一時テーブル名の末尾に数値サフィックスを内部的に追加することによって、テーブル
  を区別します。』
 と書いてありますが、数値サフィックスは自動的に作成されるものではないのでしょうか?

ACCESSのフォームを開くのイベント内
Set COMD.ActiveConnection = CN01
With COMD
.CommandText = "ST_3010TMPSKS"
.CommandType = adCmdStoredProc
.Execute
End With
RecordSource = "##TN_GYO"

ストアドプロシージャー
Alter Procedure ST_3010TMPSKS
As
CREATE TABLE ##TN_GYO (GYO01 NCHAR(2) NOT NULL,GYO02 NCHAR(16),GYO03 NCHAR(2),GYO04 NCHAR(2),GYO99 INTEGER)
ALTER TABLE ##TN_GYO ADD CONSTRAINT TN_GYOK01 PRIMARY KEY(GYO01)
INSERT INTO ##TN_GYO (GYO01,GYO02,GYO03,GYO04,GYO99) SELECT TM_GYO.GYO01,TM_GYO.GYO02,TM_GYO.GYO03,TM_GYO.GYO04,0 FROM TM_GYO
return

宜しくお願い致します。

24 :6:01/10/09 20:17
>>23
>2.同時にほかのパソコンで同じフォームを開くと##TN_GYOが既に存在します。になります。

確かにそうですね。
何かで読んだのと、他のシステムの経験によって、一時テーブルについて間違った
思い込みをしてました。
申し訳有りません。
1さんのレスを読んで、ユーザーで実験し、脂汗をかいております。
クライアントの多くが遠隔地にあり、エラーが起きても知らせて来なかったのかもしれません。
明日は、この対応になりそうです。

一時テーブル名をユニークにするにはどうすればいいのかは、いくつか思いつきはしますが、
このような場合の「定石」を知りたいと思います。

私の作ったアプリケーションでは、一時テーブルはトランザクション内で作成・削除を行ってますが、
同時に同じトランザクションが実行された場合の「排他制御」の考え方についても知りたいと思います。

どなたかご指導、宜しくお願いします。

25 :名無しサン@ボの牛丼:01/10/10 02:07
テーブル名のおしりにHOST_NAME()、つまりコンピュータ名を入れればいい。
動的SQL(SQL文をSQLで作って実行)は少々面倒だけど。

26 :6:01/10/10 03:55
>>25
とても勉強になりました。
ホストネームがこんなに簡単に取得できるとは知りませんでした。
有り難うございます。

Alter Procedure TEST_テンポラリ作成
@file_name nvarchar(128) OUTPUT
As
SET @file_name = '##テンポラリテーブル_' + HOST_NAME()
EXEC ('SELECT * INTO ' + @file_name + ' FROM test1')
return

Alter Procedure TEST_テンポラリ削除
As
DECLARE @file_name nvarchar(128)
SET @file_name = '##テンポラリテーブル_' + HOST_NAME()
EXEC ('DROP TABLE ' + @file_name)
return

<開く時>
Private Sub Form_Open(Cancel As Integer)
Dim Cnn As ADODB.Connection
Dim Cmd As New ADODB.Command
Dim par As ADODB.Parameter
Set Cnn = CurrentProject.Connection
Cmd.ActiveConnection = Cnn
Cmd.CommandText = "TEST_テンポラリ作成"
Cmd.CommandType = adCmdStoredProc
Set par = Cmd.CreateParameter(, adVarWChar, adParamOutput, 128)
Cmd.Parameters.Append par
Cmd.Execute
Me.RecordSource = par.Value
End Sub

<閉じる時>
Private Sub Form_Close()
DoCmd.RunSQL ("TEST_テンポラリ削除")
End Sub

27 :1:01/10/10 09:33
>>25
マニュアルに「数値サフィックス」とは書いてありましたが、「HOST_NAME()」に
ついては見つける事ができませんでした。
どうもありがとうございます。

>>6
詳しくサンプルまで書いて頂いて助かります。
どうもありがとうございます。

皆さん、遅くまで頑張ってらっしゃるんですね。関心します。
体には充分注意して下さいね。

これから早速、実験してみます。今後とも宜しくお願い致します。

28 ::01/10/15 00:34
揚げ

29 :名無しさん@そうだ選挙にいこう:01/10/27 04:07
#2つだとグローバル一時テーブルになるから
#1つでやらないと駄目なんじゃなかった?

30 :名無しサン@ボの牛丼:01/10/27 10:03
#1つだと、ストアド終了時に消えてしまったと思う。
#2つだとグローバルだけど消えないから、あとはテーブル名を端末毎にユニークな名前を付けておけば区別できるという話。

31 :2:01/11/03 17:52
皆様すごくて ついていけていませんでした・・・

やっと 試してみまして、気が付いた事がひとつあったので ご報告します。

ホストネームに'-'を使用しているPCがあると
一時ファイル作成時に ファイル名のエラーになるようです。

32 :名無しサン@ボの牛丼:01/11/03 23:18
>>31
それならホスト名をQUOTENAME関数で変換した結果をテーブル名にすればいい。

33 :31:01/11/05 02:06
32>>
QUOTENAME関数・・・ですか?
調べて明日試してみます。
ありがとうございました!! m(u_u)m

34 :名無しさん@そうだ選挙にいこう:01/11/06 19:49
>>31
[ ]で囲むと良い

35 :31=2:01/11/11 04:36
>>32
別な問題が発生してしまって 試せていません。
せっかく教えていただいたのに申し訳ありません。
>>34
[]ですか… ##の後ろを囲んでも大丈夫なのかな?##も含めるのかな??
やってみます。 って言いながらまた時間かかりそう(泣


ところで、皆様 MSDEのバックアップってどうなさっていますか?
ACCESS2000との組み合わせだと ツール>データベースユーティリティー>バックアップ
ってありますが これだと別のサーバとかコンピュータに取っておけるのですが、
文字通り「元に戻す」しか出来なくて、1テーブルだけ戻すとか出来ないですよね?
MSDEのデータ変換サービスウィザードを使うと テーブル単位にバックアップ取れるけどMSDE自体が
同一のものだから(?) 別のサーバにバックアップを取る事が出来ません。
(MSDEのインストール時に作られる「Data」っていうフォルダに××.ldfと××.mdfっていう
2つのファイルが出来てしまい、結局同じMSDE内に出来てるって事かな?と解釈したのですが…違うでしょうか?)

いろいろ試したのですが、どれも 今ひとつでした。

@テーブル単位に戻すことが出来て、
A安全の為に別のサーバ(別のMSDE)に、
B元のadpファイルに戻すだけでなく 他の場所、他のadpファイルに、
Cできれば ビューやストアドも
といったことが出来るようなバックアップの取り方&戻し方ご存知の方いらっしゃいましたら
教えてください。

よろしくお願いします。m(u_u)m

36 :名無しさん@そうだ選挙にいこう:01/11/11 08:54
>>35
ボクもMSDEのバックアップについてちゃんと勉強したいと思っていますが、
今やってる方法を書きます。

ユーザーにツールバーのバックアップを操作させるのは危険なので、
バックアップ用のフォームからストアドを実行してもらっています。
ちなみにストアドは、

Alter Procedure バックアップ
@file_name nvarchar(200)
As
BACKUP DATABASE XXXX
TO DISK = @file_name
return

です。
バックアップ用のホルダーにバックアップファイルを作り、手動でバックアップ
メディアにコピーしてもらっています。
リストアは「元に戻す」でやっています。(ユーザーがリストアすることはありません)

「元に戻す」は、現在接続中のデーターベースに上書きするようです。
既存のデーターベースを残したまま、新たにテスト環境を作りたい場合は、
ウィザードの「プロジェクト(新しいデータベース)」で別のデータベースを作り、
出来上がったADP(運用中のADPでは接続先を変更して)から「元に戻す」で
リストアしています。
バックアップ先デバイスと違うフォーマットのデバイスへのリストアは出来ないので、
あらかじめCD-ROM等からハードディスクにコピーしてリストアしています。

ボクのユーザーのデータベースはそれほど大きくないので丸ごとコピーで
自宅に持って帰っていますが、大きい場合はテーブル持ち帰り用のデーターベースを
作った方がいいのでしょうね。

>@テーブル単位に戻すことが出来て、

データベース間のコピーペーストで
(キーの情報はコピーされない・・・中途半端ですね)

>A安全の為に別のサーバ(別のMSDE)に、
>B元のadpファイルに戻すだけでなく 他の場所、他のadpファイルに、

adpファイルを作ることによってデータベースが出来上がりますが、
adpファイルとMSDEのデータベースは独立したものです。
××.ldfと××.mdfがデータベースの実体ですが、そのファイルを
意識することはないでしょう。
前の方に書いた方法で出来ます。

>Cできれば ビューやストアドも

ビューはコピーペースト出来ないのでSQL文を表示させて手動コピー
(MSの手抜きですかね・・・)
ストアドはコピーペースト出来ないのでテキストを手動コピー
(これもMSの手抜きですかね・・・)


もっといい方法がありましたら、どなたかご指導お願いします。

37 :名無しさん@そうだ選挙にいこう:01/11/11 22:21
ADOレコードセットとテキストボックス等を連結してUPDATEメソッドで更新する方法無いですか?
フォームのレコードセットに指定すると元データも更新されてしまいます。
関数作って地道に更新するしかないですか?

38 :名無しさん@そうだ選挙にいこう:01/11/11 23:30
>>37
関数作って地道に更新するしかないでしょうね
やはり非連結フォームですよね
コピーしたいコントロール名を、

Link_商品コード
Link_商品名

の様な名前にして、Link_の付いたコントロールをADOレコードセットから
全てコピーする関数を書けば、少しは楽になるのかも 他でも使えるし
コントロールからADOレコードセットへも同じ方法で
念のため、

コントロールの数
Forms(フォーム).Count

コントロール名
Forms(フォーム).Controls(数値).ControlName

39 :名無しさん@そうだ選挙にいこう:01/12/18 12:35
データを登録しようとすると、『 エラー 3146: ODBC--呼び出しが失敗しました。』
というエラーメッセージが出るのですが、原因がわかりません。

どのような場合に、このようなエラーメッセージが表示されるのかを、
ご存知の方がいらっしゃいましたら、どうかヒントをよろしくお願いします。

40 :名無しさん@そうだ選挙にいこう:01/12/18 13:13
>1
mdbに慣れていて、クライアントがAccess限定ならローカル一時テーブルの作成は
クライアントマシンにワーク用のmdb作って
ADO(DAO)でRecordsetオブジェクトをグローバル変数に取得
Form_Loadの時にrecordsourceプロパティに取得したオブジェクトを設定でもいけます。

SQLのほうでテーブル名の問題が出るよりは楽だとおもうんだけどどうかな?

41 : :02/02/12 06:58
勉強になるな

42 :名無しさん@そうだ選挙にいこう:02/02/12 13:12
>>15
>sqlで作成した方がいいお勧めの本は
>ナツメ社のaccess2000sqlハンドブック
とはどれでなんだろう?
http://www.natsume.co.jp/Natsume/PC.html

43 : :02/02/26 07:12
あげ

44 :名無しさん@そうだ選挙にいこう:02/04/09 00:06
Access+SQLServer でいろいろ実験してるんだが・・・
なんかいい書籍とかないのかなぁ〜


45 :名無しさん@そうだ選挙にいこう:02/04/13 17:03
MSのサイトに落ちてますよ。
http://www.microsoft.com/JAPAN/sql/evaluation/exercises.asp
只だし。これでだめならこれよりやさしそうなものを立ち読みしてから買おう。


46 :44:02/04/13 19:19
>>45
ありがとう!
さっそく見てみます!

47 :名無しさん@そうだ選挙にいこう:02/05/21 00:12
良スレage

48 :名無しさん@そうだ選挙にいこう:02/06/20 00:40
保守

49 :名無しさん@そうだ選挙にいこう:02/06/20 22:47
ぼっきあげ

50 :名無しさん@そうだ選挙にいこう:02/06/25 19:59
>>30
>#1つだと、ストアド終了時に消えてしまったと思う。
ストアドを使っているのが間違い。
ExecuteでSQL文をサーバーに投入すれば良いのでは

51 :名無しさん@そうだ選挙にいこう:02/07/23 08:26
はじめてSQLServer2000とフロントエンドAccess97でシステムを構築します。
サーバーとクライアント間は64kbps専用線を使います。
しかしテストをしたところ、サブフォームつきのフォームで、レコードの読みこみに
時間がかかることがわかりました。
テストデータは親側30レコード、子側で平均各10レコード(合計300レコード)
フォームを開くのに5秒、更新・レコード移動に2秒ほどです。

1)Access2000 or 2002にするだけでもパフォーマンスが改善されますか?

2)ここは定石どおり、テンポラリテーブルを介して必要なレコードだけ抜き出して作業をする
 (移動ボタンを使ったレコード移動をあきらめる)のがよいのでしょうか?


52 :名無しさん@そうだ選挙にいこう:02/07/23 08:36
>>51
1) しない。低下するかも。
2) はい。

53 :51:02/07/23 10:49
>>52 ありがとうございます

54 :名無しさん@そうだ選挙にいこう:02/09/03 10:19
すみません。質問させてください。

現在Access2000+SQL-SERVER を使っていますが、
MDBで開発してた時には、あるクエリーを元にして
またクエリーを作成して、それにパラメーターを
与えてレポートから開けたんですが、ADPの場合
はどのようにするんでしょうか?。

簡単なストアドプロシージャにパラメーターを与えて、
レポートなどを実行する方法はわかったのですが、
そこで行き詰まっています。

あるストアドを元に、さらにストアドを作るようなことは
できるでしょうか?。

55 :名無しさん@そうだ選挙にいこう:02/09/03 12:54
>>54
>簡単なストアドプロシージャにパラメーターを与えて、
>レポートなどを実行する方法はわかったのですが、
>そこで行き詰まっています。

う〜〜ん、そこまで分かってるのなら完璧じゃないですか。
何に行き詰まってますか?

>あるストアドを元に、さらにストアドを作るようなことは
>できるでしょうか?。

ストアドはテキストですのでコピーして張り付けだと思いますが。

ストアドはクエリよりも色々なことが出来て便利だと思ってます。

56 :名無しさん@そうだ選挙にいこう:02/09/03 13:13
>>54
レポートでパラメータを使いたいのなら、

1.従来クエリで作ってた部分をストアドプロシージャとして作る。
2.クエリのパラメータはストアドの引数に置き換えて作る。
(例)fooというテーブルのCODEフィードで絞り込みする場合
Create Procedure test
(
@code int
)
As
SELECT * FROM foo WHERE CODE=@code
return

3.パラメータ入力用のフォームを作る。
(例)form1というフォームにtxtCodeという名前のテキストボックスを付ける

4.そのストアドプロシージャをレコードソースにしたレポートを作る。
 レポートの「入力パラメータ」プロパティを設定する。
(例)@code int=Forms!form1!txtCode

5.あとはそのフォームを開いてテキストボックスにコードが入っている
 状態で、4.のレポートを開くとコードで絞り込まれてレポートが開かれる。
 実際には3.のフォームにレポートを開くボタンを付けるとよい。

ストアドプロシージャをソースにしたストアドプロシージャは作れない
ので、SQL文を工夫してストアド一つにまとめるしかないと思われ

57 :54:02/09/03 16:31
>55さん、56さん

レスありがとうございました。ACCESSで7年ほど飯を食ってきましたが、
ここにきてまた新たに勉強しなおします。

MDBのように、Aクエリーを元にしてBクエリーを作成して、集計結果の
レコードセットを得る、というやり方に慣れてしまったので、
ストアドでも同じことをしたいと思って質問させていただきました。

現在、MDBのクエリビルダのSQLソースをストアドに貼り付けて
地道に作業していますが、繰り返すうちにやっと構文の基本くらいは
わかってきました・・・。

>ストアドプロシージャをソースにしたストアドプロシージャは作れない
>ので、SQL文を工夫してストアド一つにまとめるしかないと思われ

これが答えなんですね・・。とりあえず、SQLの結果を
テーブルにINSERTして、そのテーブルを元にまたSQLを書く、という
方法で回避することにします。モジュールの中で発行するので
直接SQL?とかいうやつになっちゃうんですが・・。

>ストアドはクエリよりも色々なことが出来て便利だと思ってます。

そう思えるようにがんばります。

ちなみにACCESS2002も手元にありますが、ためしにインストールしたら
早速落ちました。

58 :名無しさん@そうだ選挙にいこう:02/09/13 16:15
>57
AccessのクエリがレコードソースのクエリのようなものをSQLサーバーなんかで作る場合は

1. ストアドの中のSQLの中にインラインで書く
2. ストアドの中で一時テーブルに結果のレコードを入れて、
同じストアドの中でそれを元にしたSQLを作る
3. VIEWをレコードソースに使う

とかいろいろ手があります。
データ操作に関してはAccessでクエリ+(マクロ or VBA)でやっていたことのほとんどは
ストアドのみでやれると思っていいかと。

同時アクセスの場合の処理とかを考えるとストアドがおすすめ。

あとSQL Server 2000の場合はAccess2002を使ったほうが
ユーザー定義関数に対応している等でイイと思う。
(Access2002でDBを作成した場合、デフォルトのセキュリティが甘甘なのには注意)

59 :名無しさん@そうだ選挙にいこう:02/09/22 16:19
今までLANでAccess97使用しているんですが、電話接続環境でもAccess使用すること
になったらSQLserver等もっとしっかりしたデータベースソフト入れないといけませんか?
それとも、なんとかしてAccessだけでも電話接続環境でも使用できるんでしょうか?

初歩的な質問ですいませんが よろしくお願いします。

60 :名無しさん@そうだ選挙にいこう:02/12/10 00:01
10000レコードのテーブルから20件を抽出するクエリをリモートから実行した時、
レコードすべてをリモート側に引っ張ってきてから20件を抽出するのがAccess、
抽出結果の20件だけをリモート側で引っ張れるのがSQLserver。

どちらでも動くが効率はSQLの方が断然良い。

61 :山崎渉:03/01/15 16:53
(^^)

62 :名無しさん@そうだ選挙にいこう:03/01/24 00:46
http://www.isis.ne.jp/

http://www.maromaro.com/

http://www.tomita.net/

本を読もう


63 :名無しさん@そうだ選挙にいこう:03/01/27 15:34
試験

64 :名無しさん@そうだ選挙にいこう:03/02/05 06:50
SQLServer7.0を最近触り始めたのですが教えてください。
あるマシンで作ったデータベースなんですが、C:\MSSQL7\DATA\hogehoge.MDF
ファイルを別のマシンにコピーしてデータベースとして認識させるにはどうやっ
たらいいんですか?インクルードで取り込もうとしても、元マシンはSQL-Server
のシステムは消してしまって接続できずデータだけ残っているので…

65 :名無しさん@そうだ選挙にいこう:03/02/05 06:55
http://homepage3.nifty.com/digikei/ten.html
いいね〜 これ♪


66 :名無しさん@そうだ選挙にいこう:03/02/07 16:58
>>64
sp_detach_dbを調べて味噌

67 :64:03/02/07 17:50
>>66
w(゚o゚)w オオ〜。これこれ。無事解決。
ありがとうございました。


68 :名無しさん@そうだ選挙にいこう:03/02/25 17:59
教えてください・・・。

パラメータが設定されたストアドプロシージャの結果を
エクセルに書き出す方法は無いでしょうか?。

DoCmd.OutputTo acOutputStoredProcedure, "ストアドプロシージャ名", acFormatXLS, _
EXCELファイル名, True

だと、パラメータの内容を入力するウィンドウが表示されます。

これを自動化したいのですが。

よろしくお願いします。


69 :名無しさん@そうだ選挙にいこう:03/02/26 10:59
明細を伴う伝票入力で、明細部をワークテーブルにして一括確定する場合
新規入力(追加)の場合と削除の場合はいいのですが、修正(更新)の場合は
どのようなやり方が一般的なのでしょうか?
入力したレコードが既にあれば更新、なければ追加すると聞いたんですが
これだと一件一件レコードごとに処理しなければならないですよね。
私は修正を行う明細行を全て削除して、その後ワークテーブルのデータを全て追加する
というやり方をしてたら、普通はそんなやり方をしないと会社の人に言われました。
皆さんはどのようなやり方をしているのでしょうか?

70 :タダで!?:03/02/26 11:32
YAHOO!BBのユーザーへの特報!!!

今YAHOO!BBでADSLを利用されてる方。

月額料金を無料にできる方法をお教えします。確実な方法です
し方法も一つではなく何通りお教えしますので、ヤフーbbのユ
ーザーである限り料金発生なくずっと使えます。

興味のある方は以下のメールアドレスに連絡ください。
料金をとめる方法は少しの謝礼でお教えします。
ryoukinn5000@yahoo.co.jp ryoukinn2003@yahoo.co.jp
 よろしくお願いします。

71 :名無しさん@そうだ選挙にいこう:03/02/26 12:40
>69
私自身は最近コーディングはほとんどしないのですが、明細形式のデータを変更する
時はワークのDelete-Writeを一括で行いますね。他者に依頼するときも仕様書にもそう
明記します。
パフォーマンス的にどうとはケースバイケースなので正直なんともいえませんが、
アフォな人 or 新人君に1行づつcommitされたりするような変なコーディングを防ぐため
です。


72 :名無しさん@そうだ選挙にいこう:03/02/26 21:35
最近はセキュリティーが不安で使えない。


73 :名無しさん@そうだ選挙にいこう:03/02/26 23:50
この辺読んだ??

入門
http://www.sqlpassj.org/bunkakai/begin/series/default.aspx
SQLServerテーブル回転!
http://support.microsoft.com/default.aspx?scid=kb;ja;JP175574
MSDE を含む ADP の配置方法
http://support.microsoft.com/default.aspx?scid=kb;ja;jp240293
SQL Server 2000 自習書シリーズ
http://www.microsoft.com/japan/sql/techinfo/sqleval/self_doc.asp
MSDE による Access ソリューションの作成および展開
http://www.microsoft.com/japan/msdn/officedev/officexp/odc_modmsde.asp
Transact-SQL の概要
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/tsqlref/ts_tsqlcon_6lyk.asp

74 :名無しさん@そうだ選挙にいこう:03/02/27 21:30
ADOで非連結のフォームを使ってConnectionを接続するのはどのタイミングで
行うのが良いのでしょうか?
書籍等を読んでも、フォームを開くときに接続して、閉じるときに接続を切るやり方
と、起動時に接続してずっと接続したままのやり方とあってケースバイケースだとは
思うのですが、皆さんはどのようにしているのでしょうか?
また、フォームを開いたときとかにはまだ接続せず、登録ボタン等を押下して
はじめてconnectionを接続して、登録が確定したらすぐまた接続を切るようなやり方は
良くないのでしょうか?

75 :名無しさん@そうだ選挙にいこう:03/02/28 21:20
>>74
ttp://www.users.gr.jp/ml/archive/access/Access81.asp
ここの08145からは参考になりませんか?

76 :山崎渉:03/03/13 16:45
(^^)

77 :名無しさん@そうだ選挙にいこう:03/04/05 13:16
http://64.246.31.103/FREE/20030404/@@@@@@@@@@@@@@@@@@@@/&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&/((((((((((((((((((((/1234567890.0987654321/1234567890.0987654321/1234567890.0987654321/G267AB.asf

78 :名無しさん@そうだ選挙にいこう :03/04/11 12:01
>>74
神後輪!!


79 :名無しさん@そうだ選挙にいこう:03/04/11 12:37
SplServerです。
dtsパッケージで固定長txtでエクスポートすると一行の長さがずれるのですが。
ちなみに全角半角混在カラムがあります。
バグでしょうか?

80 :名無しさん@そうだ選挙にいこう:03/04/12 01:54
>>79 バグです
http://support.microsoft.com/default.aspx?scid=kb;ja;271247

81 :79:03/04/12 22:15
うわSplだって。。
携帯からだったのでスマソ。。。

>> 80
レスThx!

うーん、インポートでなくエクスポートなんですけどね。。
とりあえずDTSでは固定長でデータのやり取りするな、ということでしょうかね。。

ショボイなぁ。。。

82 :山崎渉:03/04/17 11:35
(^^)

83 :山崎渉:03/04/20 06:11
   ∧_∧
  (  ^^ )< ぬるぽ(^^)

84 :名無しさん@そうだ選挙にいこう:03/04/21 21:24
すいません。SQL-server 7.0 についてお教え下さい。
業務のため Desktop Edition を各クライアントマシンに導入したい
のですが台数の制約は何台までなのでしょうか?

参考までにここを見たのですが...
http://support.microsoft.com/default.aspx?scid=kb;ja;207809

接続クライアント数モード ライセンス (CAL) により、
カバーされているクライアント コンピュータにおける使用の場合に限り、
ライセンスが与えられています。

・・・・・一応条件を満たしているのですが、100台近くの
クライアントマシンには適用できるかはちょっとわからないのです。

85 :動画直リン:03/04/21 21:35
http://homepage.mac.com/hitomi18/

86 :名無しさん@そうだ選挙にいこう:03/04/21 21:50
>>84
どんなシステムなんだろう?
非常に気になる

87 :名無しさん@そうだ選挙にいこう:03/04/22 01:39
>>86
いや、たいしたことないのです。
鉄鋼メーカーで、あるシミュレーションをしたいとの要望がありまして
現行は中央のSQLサーバーでマスタデータを保管し、
クライアント端末にはAccessベースのシステムを置いています。
クライアントは中央からマスタデータを取り込んで
クエリーで処理し、結果をまたSQLサーバへ反映という具合にしていました。

しかし、遅い・不安定等で大幅改善を命じられてしまいました。
 このため、Accessを Desktop EditionのSQLサーバを置き換え、
プロシジャーで高速化を図ろうとしています。
でこのシミュレーションを行うクライアントが100,200台ほどあるのです。
中央で全て処理すればいいのでは、という意見もありがちですが
システムの性格上、設計者のパソコン内で完結させないといけないという
制約もあり、ちょっと厄介になっております。

MS製品は品質は良いのですがライセンスに縛られるので
十分な下調べが必要と思い書き込みさせていただきました。

所有する、一つのSQLサーバ7.0で複数のクライアントに
Desktop Editionは導入できるものでしょうか

ご存じでしたらどうかよろしくお願いいたします。


88 :bloom:03/04/22 02:05
http://homepage.mac.com/ayaya16/

89 :名無しさん@そうだ選挙にいこう:03/04/22 04:52
SQL Server2000のクエリアナライザでクエリを発行する時に,
「統計」オプションを選ぶと実行時間みたいなのがでてくると
思うのですが,それの時間の単位ってなんでしょうか?
ご存知の方いらっしゃいませんか?
ミリ秒かマイクロ秒か・・・・

例えばこんな感じなんですが・・・・

{合計,平均}
クライアントの累積処理時間 4 1.46667
サーバー応答の累積待機時間 6 1.86667


90 :名無しさん@そうだ選挙にいこう:03/04/22 04:53
{合計,平均}じゃなくて{値,平均}でした...
しかも一個のクエリでの問い合わせでも 値=平均 にならないのが
怪しい・・・・・なんだろ・・・

91 :名無しさん@そうだ選挙にいこう:03/05/15 20:51
Win2K + Access2002 + MSDE でテスト開発をしています。
が、オブジェクトバーにストアドプロシージャの項目がないんです!
新しいプロジェクトを作成してもでてきません。
何か裏コマンドでもあるのでしょうか?

92 :山崎渉:03/05/22 01:52
━―━―━―━―━―━―━―━―━[JR山崎駅(^^)]━―━―━―━―━―━―━―━―━―

93 :山崎渉:03/05/28 16:58
     ∧_∧
ピュ.ー (  ^^ ) <これからも僕を応援して下さいね(^^)。
  =〔~∪ ̄ ̄〕
  = ◎――◎                      山崎渉

94 :名無しさん@そうだ選挙にいこう:03/06/17 17:29
Access2002 + MSDEを使ってます。
フォームにある日付範囲を基に一時テーブル(##TEMPTABLE)をプロシージャで作りました。
##TEMPTABLEをレコードソースとしてレポートに表示させようとするとエラーが出ます。

「このフォームまたはレポートで指定されているレコードソース ##TEMPTABLE は存在しません」


##TEMPTABLEをレコードソースとしてフォームを開くとうまく動作します。
レポートだけは特別なにかすべき事がありますか?
詳しい方の回答待っております。

95 :名無しさん@そうだ選挙にいこう:03/06/17 18:16
(σ・∀・)σゲッツ!!ならココね
http://www3.kcn.ne.jp/~barozza/

荒らすの楽しいね

96 :名無しさん@そうだ選挙にいこう:03/06/17 19:52
>>94
http://www.horikawa.ne.jp/msde/gihyo/sql04/sql04_03.html

97 :94:03/06/19 20:07
>>96
レスありがとうございます


結局、フォームから呼び出されたストアドによって作られた一時テーブルを
レポートのレコードソースにすることができなさそうですね。

レポートのレコードソースをストアド名にしてパラメータを渡すとうまく
動作するのですが、それだったら一時テーブルを作る意味がないですしね。。。

98 :名無しさん@そうだ選挙にいこう:03/07/06 21:01
Win2K,Access2K,MSDEを使っています。
抽出したデータ(Recordset)を区切り形式のtxtファイルとしてエクスポートしたいのですが、
何か良い方法はありませんか?


99 :名無しさん@そうだ選挙にいこう:03/07/07 01:24
>>98
ストアドでbcpを起動してエクスポートする
bcpとかxp_cmdshellを検索すれば分かると思う

ストアドとフォーマットファイル作る

ストアド例
EXECUTE master.dbo.xp_cmdshell
'c:\mssql7\Binn\bcp mydb.dbo.mytb out c:\test.txt -PXXXXXX -fc:\test.fmt'

100 :名無しさん@そうだ選挙にいこう:03/07/14 22:05
皆さん、フィールド名付きのcsvへのエクスポートって、どのような
方法でやっているんですか?bcpじゃ出来ないみたいなんですけど。

txtボックスにWHERE句以降を書き、コマンドボタンクリックで上記の
ようなcsvにエクスポートしたいのですが、良い方法がありましたら
教えてください。

101 :名無しさん@そうだ選挙にいこう:03/07/15 00:58
>100
自分で考えろ


102 :名無しさん@そうだ選挙にいこう:03/07/15 09:13
100じゃないが、自分で考えろじゃ掲示板の意味ねーw

103 :名無しさん@そうだ選挙にいこう:03/07/15 09:43
ところで>>100>>98って同一人物?

104 :山崎 渉:03/07/15 11:15

 __∧_∧_
 |(  ^^ )| <寝るぽ(^^)
 |\⌒⌒⌒\
 \ |⌒⌒⌒~|         山崎渉
   ~ ̄ ̄ ̄ ̄

105 :ぼるじょあ ◆ySd1dMH5Gk :03/08/02 05:28
     ∧_∧  ∧_∧
ピュ.ー (  ・3・) (  ^^ ) <これからも僕たちを応援して下さいね(^^)。
  =〔~∪ ̄ ̄ ̄∪ ̄ ̄〕
  = ◎――――――◎                      山崎渉&ぼるじょあ

106 :名無しさん@そうだ選挙にいこう:03/08/04 06:23
WinXP,Access2K,MSDEから質問です。

サーバーのバッチファイルを呼び出してバックアップおよびレストアを試みたいのですが
「osqlは無効なコマンドです」
と蹴られてしまいます。


サーバー上で直接バッチファイルを起動するときちんと動作します。
クライアント側からサーバーのosqlを使うことはできないのでしょうか?
ご存知の方 教えてください m(__)m


バッチファイルの中身は下記の通りです。

[ backup.bat ]
osql -U sa -P -d sampledb -i backup.sql

[ backup.sql ]
BACKUP DATABASE sampledb TO DISK = 'c:\sampledb_bak.dat'
GO

107 :名無しさん@そうだ選挙にいこう:03/08/10 22:39
SQL Sever Standerd Editin か Enterprise Edition を普通の Win2K か
WinXP 上で動作可能でしょうか?お教えください。

マイクロソフトではサーバ以外では対応してないようです。

よろしくお願いします。


108 :名無しさん@そうだ選挙にいこう:03/08/11 00:19
>>107
ライセンスの問題があるので無理。M$はWindows Workstation(Win2000Pro, WinXP等)上でSQL Serverを稼働して欲しくないようだ。
Windows Workstation上でどうしても動かしたいのなら、vmwareかVirtualPC使え。
仮想マシン上にWindows ServerとSQL Serverをインストールすればいい。

109 :名無しさん@そうだ選挙にいこう:03/08/11 08:59
どちらにも Personal Edition が同梱されているはずなので
それ使え。

110 :_:03/08/11 09:03
http://homepage.mac.com/hiroyuki45/

111 :名無しさん@そうだ選挙にいこう:03/08/11 09:07
>>108,>>109
レス、ありがとうございました。自分で試してみましたが
インストールではじかれました。

とりあえず Personal Edition を入れて試してみます。

Thanks again !


112 :山崎 渉:03/08/15 22:06
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

113 :山崎 渉:03/08/15 22:42
    (⌒V⌒)
   │ ^ ^ │<これからも僕を応援して下さいね(^^)。
  ⊂|    |つ
   (_)(_)                      山崎パン

114 :名無しさん@そうだ選挙にいこう:03/10/14 23:41
yada

115 :Take2Ch:03/10/18 00:25
保守

116 :Take2Ch:03/10/19 21:27
保守

117 :名無しさん@そうだ選挙にいこう:03/10/21 13:11
みなさんADPで明細型の伝票入力行う時、
#のついた一時テーブルをレコードソースにしているのですか?
通常のテーブルを用意しておいて、HOST_ID関数でクライアントごとに
抽出を行うってやり方が定説だと思ってたんですが、
どうなんですかね?


118 :名無しさん@そうだ選挙にいこう:03/10/21 21:27
>>117
自分は一時テーブルをレコードソースにしている
この方法で明細型入力を部品化してるので自分はこれが一番簡単
運用中にネットワークやクライアントがダウンしても、一時テーブルが無くなるだけで手間いらずだし
普通のテーブル使っても方法は有るんだろうけどね

119 :名無しさん@そうだ選挙にいこう:03/10/21 22:30
>>117
接続数が多いとローカル一時テーブル(#)の作成数も増えるので
臨機応変に。
おいらはグローバル一時テーブル(##)多用。
HOST_ID関数使うのは同じ。

120 :117:03/10/22 09:55
>>118,119
そうですか。MSDEのメーリングリストで一時テーブルは
クライアントのダウンに弱いから通常のテーブルを使用しましょう
との事でしたので、今までそうしてたのですが、
ところで既に出ているのですが、118さんは#の一時テーブル使った時
主キーの制約名はどのように設定してますか?

121 :118:03/10/22 21:05
>>120
あまりマニュアルを読んだことが無く、深く考えたことも無いので間違ってるかもしれません
自分も>>119さんと同じようにグローバル一時テーブルで、HOST_IDでテーブル名を作ってました
何か理由有ってローカル一時テーブルを使えなかったのだと思いますが、当時のことを思い出せません
主キーを設定してる部分を抜き出してみるとこんな感じです

EXEC
('
ALTER TABLE ' + @temp_name + '
ADD CONSTRAINT PK_' + @temp_name + '
PRIMARY KEY (伝票番号,伝票行番号)
')

答えになってないかな?

122 :Take2Ch:03/10/24 01:01
保守

123 :Take2Ch:03/10/24 01:02
保守

124 :名無しさん@そうだ選挙にいこう:03/10/28 22:40
質問お願いします。
SQLServer+Accessプロジェクト(ADP)で開発をしております。
Accessで開発していたものをSQLServerにアップサイジング
する際に、クエリに連結していた帳票フォームを、ストアド
プロシージャで作成したグローバル(##)一時テーブルに
連結したフォームに変更しようと思ってそのようにしましたが
フォームを開くと参照のみで更新ができません。
(フォーム一番下の→*ボタンが使用不可になっています)

ユーザーにテーブル作成の権限を与えて一時テーブルではなく
通常テーブルを作成してそのテーブルをフォームに連結すると
更新が可能となります。

一般ユーザーではなくdboでは上記の一時テーブルでも更新可能
となりました。

WEBで調べたところ
Use tempdb
GRANT ALL ON ##(テーブル名) TO guest
を実行すればいいということで、クエリアナライザから実行した
後にはフォームから変更することができましたが、これをVBAの
モジュール内でどのように記述すればよいのかわかりません。
ストアドプロシージャ内でuseコマンドは使えませんでした。

よろしくお願いいたします。


125 :名無しさん@そうだ選挙にいこう:03/11/11 23:30
naruhodo

126 :名無しさん@そうだ選挙にいこう:03/11/13 09:26
[使用OS]:XP HomeEdition
[AccessVer]:2002 SP-2

SQL Serverで開発をしています。

突然、「データリンクプロパティ」の「パスワードを保存する」にチェックが入らなく
なってしまいました。何度チェックをつけても、開いた時には消えてしまいます。
ソフトを開いた時にもパスワードを要求されます。

アプリケーションの自動修復もしましたが、何も異常はありませんでした。

何が原因でしょうか?

127 :名無しさん@そうだ選挙にいこう:03/11/14 01:42
>>126
NT認証になってるからとか?

128 :126:03/11/14 08:18
>>127
レス、ありがとうございます。

どこで調べればいいんでしょう?
ちなみにSQLServerは、同じPCに入っています。

129 :126:03/11/14 15:44
あ、分かりました。NT認証にはなってないです。

ユーザー名は、sa で、パスワードは、ブランクです。
どうして保存できないんでしょうか・・・。

130 :名無しさん@そうだ選挙にいこう:03/11/18 13:12
saにパスワード設定してやってみるとか。
Accessとは関係ないけどsaにはパスワード設定したほうがよいのでは?


131 :名無しさん@そうだ選挙にいこう:04/02/03 10:43
SQL2000+Aceess2000環境で複数の人数で、互いにadpを作ってプログラムしていたのですが、
統合しようとしてテーブルやフォームはインポート、エクスポート出来るんだけど、
クエリー(ビュー)はインポート出来ないんですよね。

統合環境で、クエリーを作る直さないとダメなんでしょうか?


132 :名無しさん@そうだ選挙にいこう:04/02/03 11:02
http://pc2.2ch.net/db/

133 :名無しさん@そうだ選挙にいこう:04/02/07 21:33
>>131
EnterpriseManager でスクリプト吐き出す。

134 :名無しさん@そうだ選挙にいこう:04/02/08 11:14
「最新の情報に更新」で済むんじゃないの?

135 :名無しさん@そうだ選挙にいこう:04/02/29 02:12
ADPで明細型の伝票入力を行うときサブフォームのレコードソースは
ワークテーブルをそのまま割り当ててますか?
それともストアド?ビュー?
ストアドやテーブル直接だと数量や金額を入力しても
サブフォームのフッターの合計金額がレコード移動しないと変わらないし、
ビューだと並び替えできないし・・
やっぱり、金額を入力したあとのイベントで合計を表示させるように
コード書かなきゃだめかな?
みなさんどうしてます?

136 :名無しさん@そうだ選挙にいこう:04/05/09 18:55


137 :名無しさん@そうだ選挙にいこう:04/05/11 18:35
ふむふむ

138 :名無しさん@そうだ選挙にいこう:04/06/08 20:41
>>135
レコード移動で金額が出れば充分じゃん

139 :名無しさん@そうだ選挙にいこう:05/02/02 23:39:59
>>135
requeryじゃダメなの?

140 :名無しさん@そうだ選挙にいこう:2005/06/27(月) 15:38:41
>>135
それをやるならVBのほうが良いと思うよ

141 :名無しさん@そうだ選挙にいこう:2006/02/21(火) 20:31:41
Microsoft office 2000のAccessのイベント管理や家計簿などのデータベースの
ファイルは何処からダウンロードできますか?知っている人は教えてください。


142 :名無しさん@そうだ選挙にいこう:2006/02/21(火) 20:52:26
お前ら、一年前の質問にレスつけんなよ

143 :名無しさん@そうだ選挙にいこう:2006/02/23(木) 08:35:25
そういうお前も半年前の(ry

144 :名無しさん@そうだ選挙にいこう:2006/02/23(木) 18:29:31
二日前のイチャモンにレスt

145 :名無しさん@そうだ選挙にいこう:2006/02/24(金) 05:06:29
息の長いスレの存在を知らしめるべくAge

146 :名無しさん@そうだ選挙にいこう:2006/03/08(水) 00:03:42
ACCESS+SQL ServerでADO開発を行うのですが、お勧め本とか
あったら教えて下さい。
特に、排他制御等のトランザクション制御に関して、詳しい情報を
探しています。


147 :名無しさん@そうだ選挙にいこう:2006/03/08(水) 00:21:11
>>146
★Microsoft Access★
http://pc8.2ch.net/test/read.cgi/tech/1064900050/228
【まだまだ】Microsoft Access クエリ3【使える】
http://pc8.2ch.net/test/read.cgi/db/1120779000/562

お前はどんだけマルチすりゃ気が済むんだ?

148 :名無しさん@そうだ選挙にいこう:2006/03/11(土) 13:12:51
VPN経由で本社DBサーバを使用する拠点アプリをSQL+ACCESSで考えてますが、
やっぱCITRIXとか必要?

149 :名無しさん@そうだ選挙にいこう:2007/01/25(木) 12:34:32
a


150 :名無しさん@そうだ選挙にいこう:2007/01/25(木) 12:35:27
i

151 :名無しさん@そうだ選挙にいこう:2007/05/15(火) 08:58:44
SQL Server 2005 Express の話題ちーとも出てないけど、みんなスルー?
それともダンマリ(笑)?

152 :名無しさん@そうだ選挙にいこう:2007/08/29(水) 17:56:34
ACCESS2000何も分かりません。

なんか教えろ


153 :名無しさん@そうだ選挙にいこう:2007/08/30(木) 00:36:43
>>152

ACCESS2000は、Office2000Parsonalには入っていません。
バージョンは9.0です。

154 :名無しさん@そうだ選挙にいこう:2008/01/19(土) 05:39:36
Accessは超初心者です。

mdbファイル内で定義されている各種のオブジェクト、プロパティ定義、VBAを一気に
全部テキストファイルに書き出すことはできるのでしょうか?

よろしくお願い致します。

155 :名無しさん@そうだ選挙にいこう:2008/01/19(土) 09:27:55
それぞれのオブジェクトをこんな風に書けばできる。

Sub AllTables()
Dim obj As AccessObject, dbs As Object
Set dbs = Application.CurrentData
' AllTables コレクションの開いている AccessObject オブジェクトを検索します。
For Each obj In dbs.AllTables
Debug.Print obj.Name
Next obj
End Sub

http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/vbaac11/html/accolAllForms.asp


156 :名無しさん@そうだ選挙にいこう:2008/01/23(水) 06:26:43
>>155
貴重な情報をいただき、ありがとうございましら。

157 :名無しさん@そうだ選挙にいこう:2008/06/25(水) 21:18:54
hoge.mdbをwクリックするとデータを入力するダイアログが出ます。
このデータを入力するダイアログをコピーして改造したいのですが、
alt+f11は通用しませんでした。
プログラムがどこにあるかわかりません。エキスパートの皆さまお教えください。

158 :名無しさん@そうだ選挙にいこう:2009/01/21(水) 14:28:53
age

159 :名無しさん@そうだ選挙にいこう:2009/01/22(木) 17:24:11
68 名前:名無しさん@そうだ選挙にいこう[] 投稿日:2009/01/21(水) 10:44:20
特許庁のシステムとか、西武百貨店のシステムとか、三井リハウスのシステムとか
アクセス→QSLサーバー接続で作ったシステムです
それぞれ、プロが数千万円の助成金で作ったシステムです

見本としてドゾー

469 名前: すずめちゃん(アラバマ州)[sage] 投稿日:2009/01/21(水) 10:37:01.88 ID:dHGJSy0O
ほれ全部うpした 解凍したら6Gになるから
http://ipa-giwaku.com/filebank/3.rar
拡張子.dbxは下のフリーソフト使えば見れるようになるよ
http://www.asahi-net.or.jp/~tz2s-nsmr/soft/dbxview/ne03ws.htm
拡張子.mdbはエクセルで開ける

パスは DD`(4Y か test で だいたい開ける それでもダメなら報告してね
まずかったら消す


71 名前:名無しさん@そうだ選挙にいこう[] 投稿日:2009/01/21(水) 16:16:15
>>68
分割してダウンロードしやすいのはコッチ

特許庁のシステムとか、西武百貨店のシステムとか、三井リハウスのシステムとか
アクセス→QSLサーバー接続で作ったシステムです
それぞれ、プロが数千万円の報酬や助成金で作ったシステムです
プログラム作成のお勉強見本としてドゾー

http://www.megarotic.com/jp/?d=5QJSGGIV
http://www.megarotic.com/jp/?d=Y6UWMAXE
http://www.megarotic.com/jp/?d=XL71JT2W

基本はnews

160 :名無しさん@そうだ選挙にいこう:2009/01/25(日) 12:08:21
313 名前: すずめちゃん(アラバマ州)[sage] 投稿日:2009/01/24(土) 17:19:53.45 ID:97CqafnI
特許庁のシステムとか、西武百貨店のシステムとか、三井リハウスのシステムとか
アクセス→SQLサーバー接続で作ったシステムです
それぞれ、プロが数千万円の報酬や助成金で作った、総額ん億円のシステムです
プログラム作成のお勉強見本としてドゾー

[殺人] Administrator(20081230-101522)のキンタマ.zip 2,263,376,860 09ed98f10653c3fc2555621ceeed6bc33e8f6228
[殺人] Administrator(20081230-101522)のメール.zip 59,426,579 4da9459b30eec31f58b86530dbb48d1cf86ef4be
[写真集][IV] Administrator(20081230-101522)のアルバム.zip 2,205,946,474 9d87cc0e08dc0e3afd959fcead6c48d569787cee

476 名前: すずめちゃん(アラバマ州)[sage] 投稿日:2009/01/25(日) 12:02:20.71 ID:pNrDVo49
解析班のために岡ちゃんが流出させた上のファイル全部うpしとく
パスは 135 ね
解凍したら全部で6Gあるから注意してね ウイルス削除済み
(p)http://www.adrive.com/public/7d08fe24675fa758db8ab29ba4cae136e10a2d9958ce415d2f248de84871eb52.html
(p)http://www.adrive.com/public/a300a6e3cecf155dda7f8c1843a9280da156b41119f79d58644217407ad6652d.html
(p)http://www.adrive.com/public/002efa3ac3b17864e3839888a0de348b1c565c1f24f226e403086491af4adb71.html
(p)http://www.adrive.com/public/945451d37fe9b7c3e609f5915f7abf0c9afaa1d78149ede318b38ac1724a79bc.html
負荷分散のため分けた。
全部同時にDLすれば早いぞ1時間位 全部DLしてから解凍してくれ

拡張子.dbxは下のフリーソフト使えば見れるようになるよ
(p)http://www.asahi-net.or.jp/~tz2s-nsmr/soft/dbxview/ne03ws.htm
拡張子.mdbはエクセルで開ける 起動フォームでテーブルがブロックされるものは
シフトキー押しながら起動で解除してテーブル見る

中のファイルのパスは DD`(4Y  か test で だいたい開ける
それでもダメなら報告してね 皆で解析するからw
後、個人情報を悪用したらダメだよw解析用だけにつかってねw


161 :名無しさん@そうだ選挙にいこう:2009/06/03(水) 01:56:55
>>156
ましらって妖怪がいなかったっけ

162 :名無しさん@そうだ選挙にいこう:2009/10/22(木) 23:34:46
http://lotte-fits.jp/dance/play_dance.php?v=7m58J5-N0Dw
accessの新曲公開!?に、ちなんで最新情報♪


163 :名無しさん@そうだ選挙にいこう:2009/12/18(金) 22:42:03
age

164 :名無しさん@そうだ選挙にいこう:2010/01/17(日) 13:22:58

良スレ。

165 :名無しさん@そうだ選挙にいこう:2010/05/13(木) 20:51:34
さて、そろそろ勉強始めるかな

166 :名無しさん@そうだ選挙にいこう:2010/10/30(土) 09:42:51
age

167 :SQL Server 2000 の無償版:2010/11/24(水) 21:21:21


Microsoft SQL Server 2000 Service Pack 4
http://www.microsoft.com/japan/sqlserver/2005/prodinfo/previousversions/downloads/2000/sp4.mspx

Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) SP4
http://download.microsoft.com/download/7/c/2/7c2fe9f3-d2f6-4a61-a15c-1965e33936e6/SQL2000.MSDE-KB884525-SP4-x86-JPN.EXE
Readme
http://download.microsoft.com/download/7/c/2/7c2fe9f3-d2f6-4a61-a15c-1965e33936e6/ReadmeSql2k32desksp4.htm




168 :SQL Server 2000 の無償版:2010/11/24(水) 21:38:10

MSDE 2000
http://www.microsoft.com/japan/sqlserver/2005/msde/default.mspx

Microsoft SQL Server 2000 Desktop Engine (MSDE 2000) Release A
http://www.microsoft.com/downloads/details.aspx?FamilyID=413744D1-A0BC-479F-BAFA-E4B278EB9147&displaylang=ja
http://download.microsoft.com/download/A/1/7/A175BC7F-EB81-4F5B-8F4E-0FCBEF954140/JPN_MSDE2000A.exe
http://download.microsoft.com/download/A/1/7/A175BC7F-EB81-4F5B-8F4E-0FCBEF954140/ReadmeMSDE2000A.htm

SQL Server 2000 (32 ビット) セキュリティ修正プログラム MS03-031
http://www.microsoft.com/downloads/details.aspx?FamilyId=9814AE9D-BD44-40C5-ADD3-B8C99618E68D&displaylang=ja
http://download.microsoft.com/download/1/2/5/1250ebdd-fae4-4f3d-9657-0e2c9c7242b4/SQL2000-KB815495-8.00.0818-JPN.exe

Microsoft Data Access Components 2.7 Service Pack 1 用セキュリティ更新プログラム (KB911562)
http://www.microsoft.com/downloads/details.aspx?FamilyId=0AA7C8B7-8417-42D8-8E73-5466C03B8C65&displaylang=ja
http://download.microsoft.com/download/7/0/b/70b59b9f-ae87-43de-91b2-69008d505456/MDAC271-KB911562-x86-JPN.exe


2007 年 6 月更新の SQL Server 2000 Books Online
http://www.microsoft.com/downloads/details.aspx?FamilyId=A6F79CB1-A420-445F-8A4B-BD77A7DA194B&displaylang=ja
http://download.microsoft.com/download/f/2/8/f2851aa6-94a7-4f22-ba5e-fc89391f7fa6/sqlbolsetup.msi

Web Data Administrator
http://www.microsoft.com/downloads/en/details.aspx?familyid=f0d03472-5e6c-459e-a6d8-6745a729c3c9&displaylang=en
http://download.microsoft.com/download/VisualStudioNET/Utility/2.0/NT5/EN-US/WebDataAdmin.msi



169 : 【大吉】 【433円】 株価【11】 :2011/01/01(土) 00:17:51
с новым годом!!

65 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)