Date: Tue, 26 Feb 2002 13:47:01 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、こんにちは
-----Original Message-----
From: Nobuhiro Takatsuki [mailto:who@sub.example.jp]
Sent: Monday, February 25, 2002 6:18 PM
To: who@example.ne.jp
Subject: [ml-msde-beg:00113] Re: Excel から MSDE のテーブルデータをアッ
プデート
>だから,テーブルをソースとしてレコードセットをオープンすると,
>数万件のテーブルをすべてクライアントに持ってくることになるので一時
>テーブルを利用して,レコードを絞ってからと考えました。
テーブルをレコードソースにした場合でも、MaxRecords プロパティで
取得するレコード数を調節することは可能です。
デフォルトでは全レコード数を取得するので、注意が必要です。
現実的には、検索条件を与えてレコードを絞り込んで、それでもレコード数
が多いときは、MaxRecords プロパティで取得するレコード数の上限を決める
とよいでしょう
レコードを絞り込むことが大事です。
>この更新用のテーブルの更新する[data]フィールドはintに設定してあり
>ます。Excelのほうでも計算に利用するので数値データとして扱います
数値データでも、Excelでは空のセルが許されます
しかし空のセルは空文字列という扱いで、データベースから見ると、
数値型データではありません。
空文字列は長さ0の文字列であり、データベースでは文字列型データで
取り扱います
declare @i int
declare @ch varchar(10)
select @ch = ''
select @i = @ch
空文字列を無理矢理整数型に代入すると、数字ゼロに直します。
これをNULLにしたい場合は、
select @ch=''
select @i = case
when @ch = '' then NULL
else cast(@ch as int )
end
のように、CASE関数を使います。
NULL値の変換をVB側で行なうのであれば、VBのIIF関数を
使うことができます。
myRs.Fields(0).Value = IIF( Cells(i,4)<>"", Cells(i,4).Value,Null)
------------------------------------
(株)日本技術ソフト開発
堀川 明 (Akira Horikawa)
02月26日(火曜日) 13時46分記
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|