VBからデータベースを操作するには??

解決


ビギナー  2003-10-11 02:32:50  No: 109061

同じファイル内にあるデータベースのあるテーブルから情報を取り出したいのです。      アクセスと検出には成功したのですが、データがないものに対しては新規で登録したいのに検出の時点でエラーになってしまいます・・・
エラーを出さずに、新規として扱うにはどうすればいいですか??
ご回答お願いします!!


minami  2003-10-14 16:26:01  No: 109062

”検出”というのはどういう処理をされたのか、また
データが無いという状態が、「テーブルにレコードが無い」状態なのか
「フィールドにデータが無い」という状態なのかもよく分からないので
答えようが無いです・・・
エラーがおきた個所のソースと、そのときのテーブルの状態、
「新規として扱う」っていうのがどういう意味か
(新しくレコードを挿入したいのかな?)
あと、データベースってAccessですよね?


ビギナー  2003-10-15 07:47:18  No: 109063

詳細を記述いたしませんで申し訳ございません><;

えーアクセスです!!そしてテーブルに指定コードのレコードがなかった場合新規として扱いたいのです!!
存在しているものに関しましてはとりだすことができるのですが、存在しないものをどう判別していいのかが分かりません。
新たな不明点なんですが、中身が空白だったら空白を登録し、また検出の際も空白を取り出すことはできないのですか??    現在レコードないに空白がある場合データが取り出せません・・・
ご回答願います。


minami  2003-10-16 01:09:19  No: 109064

検出というのは条件に一致するレコードを検索するという意味であってますか?
で、そのとき条件に一致するレコードが無かった場合に新規として扱うっていうことですかねえ。
検索方法によって判定処理も変わってきます。DAOを使っていると想定して・・・
1、SQL文で条件を指定してレコードセットをオープンした場合
  条件に一致するレコードが無ければ、レコード数が0となります。
  レコードセットのBOFプロパティとEOFプロパティが両方ともTRUEであれば、
  カレントレコードが存在しないということで、判定できます。
2、テーブルをオープンしてから検索を行った場合。
  SeekやFindFirstなどを使って検索したのであれば、
  条件に一致するレコードが無い場合、レコードセットオブジェクトの  NoMatchプロパティがTRUEになります。

次に、条件に一致するレコードがあり、値を取り出そうとした場合に、フィールドに値が入っていないとう場合
If objRecordSet.Fields("aaa").Value = Null Then


minami  2003-10-16 01:11:32  No: 109065

途中で送信してしまった^^;
続き・・・
If objRecordSet.Fields("aaa").Value = Null Then

とフィールドの値がNullであれば中身が無いってことになります。

同様に、すでにフィールドに値が入っていて、それを削除したい(空にしたい)のであればNullを入れます
objRecordSet.Fields("aaa").Value = Null


minami  2003-10-16 01:19:00  No: 109066

追記:
「また検出の際も空白を取り出すことはできないのですか??  」
っていう質問が、あるフィールドが空白であるレコードを検索したい
とう意味であるなら、SQL文で
WHERE ”フィールド名” IS NOT NULL
という条件で検索できます。


ビギナー  2003-10-21 23:47:05  No: 109067

レスおくれましたがその間に教えていただいたものを試行錯誤して解決いたしました!!
ありがとうございました☆


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加