• 締切済み

Tableadapterのupdateメソッドについて

いつもおせわになっております。現在SQLSERVER2005 とvisual basic2005 expressを利用して開発を行っています。 新しくPLDBdatasetというデータセットを作成し、Table_Customerというデータアダプターを作成しました。  そして、新規フォームで、[Me.Table_CustomerTableAdapter.Update(Me.PLDBDataSet.Table_Customer)] というコードを実行するボタンを作成して更新してみようとしたのですが、データベースの更新がされません。実行時にエラーも出ませんので何が原因であるのか予測ができません。何が原因かわかりますでしょうか?おそらく多くの情報が不足していると思いますので不足分の情報については付け足しができると思います。

みんなの回答

  • E-HR33
  • ベストアンサー率25% (20/78)
回答No.1

まずは現状どのようなコーディングになっているかを抜き出して 掲載したほうがアドバイスがしやすくなると思いますよ。 上記だけでは何がいけないのか、そもそもどのように実現しようと しているのかが見えてきません。

関連するQ&A

  • UPDATEできなくて困っています

    SQLServerのデータペースの内容をASPから更新するプログラムを作成していますが、UPDATEできずに困っています。 エラーの内容は、 Microsoft OLE DB Provider for ODBC Drivers (0x80004005) [Microsoft][ODBC Driver Manager] データ ソース名および指定された既定のドライバが見つかりません。 となります。 元々はAccess2000のデータベースで、その時は正常に動作していたのですがデータベースをSQLServerに変更したらUPDATEできなくなってしまいました。 SELECTによるデータの呼び出しは可能なので、システムDSNの設定は間違っていないと思うのですが... 接続は、 Set OBJ=Server.CreateObject("ADODB.Connection") OBJ.Open sql , "DSN=SQLDB" としていますが、OBJ.OPEN の行でエラー発生します。 【環境】 windows2000server + IIS SQLServer2000 アクセスとは接続方法が違うのでしょうか。 確認すべきポイントなどありましたらご教授ください。 よろしくお願いします。

  • VBのエラーが退治できません/データベースの更新

    初心者です。 ビジュアルデータマネージャーで作ったデータベース(ACCESS形式V7.0MDB)のデータをFORMから変更・更新したいだけなのですが、 実行時エラー '-2147467259 (80004005)' 更新に必要なベーステーブル情報がたりません とのエラーがでます。なにを確認したらよいのでしょうか。

  • ADOでのUPDATEメソッドについて

    ADOでのUPDATEメソッドについて いつもお世話になっております。 首題についてですが フォーム「携帯管理_F」を作成し、連結テキストボックスを 配置(全フィールド)してテーブル"t_携帯"が参照できるようにしています。 "t_携帯" [社員CD](重複あり) [氏名] [性別] [台数CD] フォーム上のコンボボックスを更新にした際に非連結テキストボックスinp_社員CD の中身をUPDATEメソッドにわたそうとしたのですが、 rs.Update "[社員CD]='" & Me!inp_社員CD & "'" にすると 「実行時エラー'3001'引数が間違った型、許容範囲外、または競合しています。」 と出てしまいます。 また、 rs.Fields("社員CD").Value = "' & Me!inp_社員CD & '" rs.Update とすると社員CDに「' & Me!inp_社員CD & '」が入ってしまいます。 どなたか良い更新の方法をご存知であればご教授願います。

  • visual basic 2005 のルックアップフィールドについて

    データセット上にSQL SERVER 2005 で作成しましたTable_Customerというテーブルアダプターを持っています。そこで下記のコードでデータグリッド上にルックアップフィールドを作成しようとしたのですが検索されずにデータセットにNULLが返されしまします。下記のコード上では[みつからない]と返されます。 --------------------------------------------------------------- If (e.Column.ColumnName = Me.お客様IDColumn.ColumnName) Then  Dim dr As DataSet1.Table_CustomerRow  dr = Form1.DataSet1.Table_Customer.FindByお客様ID(10)  If dr Is Nothing Then MsgBox("みつからない") Else Form1.DataTable1DataGridView.CurrentRow.Cells(6).Value = dr.名称 End If    End If ----------------------------------------------------------- データセット上のTable_Customer上でプレビューを見てみると確かに主キーを10としてレコードが登録されているのですが・・・・・SQLSERVER2005の設定がおかしいものなのでしょうか。。。。非常に困っています。よろしくおねがいします。

  • ACCESSからSQLServerのデータを取得したい

    SQLServerが利用できない環境にデータを持っていくため、以下のようなシステムを考えております。(テーブルのリンクは不可・手動でのデータのエクスポートは不可) 1.ACCESSのフォームに「データベース名」「テーブル名」を入力し、実行ボタン押下 2.ADOでSQLServerに接続 3.指定のテーブルと同じ構造のテーブルをACCESSに作成 4.SQLServerのデータをACCESSにINSERT ここで質問なのですが、ACCESSは自分のデータベースとSQLServerのデータベースに同時に接続できますか? 同時接続した場合のACCESS/SQLServerの書き分けはどのようになるのでしょうか。

  • AccessとSqlServerのテーブルリンク

    Access2007とSqlServer2008を使用しています。 Accessで作成したテーブルを「データベースツール」-「データの移動」でSqlServerに移行してリンクする際、 (1)SqlServerに新規にデータベースを作成すると、リンクテーブルマネージャから見てもリンク先DBが正しく表示されますが、 (2)その後、その既存DBに同じAccess内の別のテーブルを、「データベースツール」-「データの移動」してリンクしたものは、リンクテーブルマネージャから見てもリンク先DBが ()となっており表示されていません。 ツールとしてSqlServer Management Studioを使っていますが、そこからでも(1)のテーブルは表示されていますが、(2)のテーブルは表示されません。 でもリンクはできているようなのです。 また、SqlServer Management Studioを使って、SqlServer内に新規テーブルを作成し、 それをAccessからリンクしようとしても、テーブルリンク一覧内に表示されない状態です。 (「外部データ」-「ODBCデータベース」…)にて SqlServerのファイルデータソースを表示しています) (2)のテーブルはSqlServer Management Studioから見ることができないため、更新・削除もできず困っています。 DB、テーブル、リンク方法等、何か問題があるのでしょうか? よろしくお願いします。

  • sp_columnsでデータベース名を指定できません

    現在、SQLServer勉強中のものです。たびたびの質問ですいません。 sp_columnsというシステムストアドプロシージャで列情報が取得できますが、@table_nameでテーブルを、@table_ownerで所有者を指定できますよね。 さらに@table_qualifierでデータベース名を指定できると思っていたのですが、これは無理なのでしょうか。 ヘルプには「SQLServerでは、この列はデータベース名をあらわします」とあるのですが、現在、接続データベース以外のデータベースに格納されているテーブルの列情報を参照しようとすると「オブジェクト修飾子の一部になるデータベース名には、現在のデータベースを指定してください。」と表示されてしまいます。 例:TestDB1に接続してTestDB2内のテーブル指定 use TestDB1 sp_columns @table_name=TestDB2Tbl, @table_qualifier=TestDB2

  • SQLのUPDATE文について

    SQLSERVER 2000を使っています。 項目1には新しい情報が入り、 項目2には以前の項目1の情報を残すというような データの更新のことで考えているのですが、 UPDATE tableA SET 項目1 = '新規', 項目2 = 項目1 というように、1度のSQLで処理してしまうのは安全なのでしょうか? 試しに実行してみたところ希望の結果を得ることができましたが、 先に項目1が更新されてその値を項目2も持ってしまうような気がして不安になっています。 2度の処理に分割すると余計な処理時間が発生してしまうと思い、 安全であると確証が持てるならば、1度で処理したいと思っています。 何かおわかりになることがあればアドバイス下さい。

  • SQLServerのデータをMDBファイルにする方法

    SQLServer2000のデータベースをACCESS2000のMDBファイルに変換したいのですがどのように行えばよいでしょうか? SQLServer2000から最新データをもらい(都度更新する)MDBからデータを参照します。

  • Access2010でUPDATEできない

    ちょっと行き詰まってしまいました。 あるテーブルを更新しようと、以下のようなVBAを作成し実行しました。 しかし、エラーが出てしまいます。 【テーブル1】 ID,予定年,予定月,予定日,実行年,実行月,実行日,区分 ID、予定年・月・日にはデータが入っています。 区分にはデータが入ってる場合と入ってない場合があります。 区分にデータが入っていると、実行年・月・日にはデータが入っています。 【コード】 strSQL = "UPDATE テーブル1 SET 実行年 = 予定年, 実行月 = 予定月, 実行日 = 予定日 WHERE 区分 Is Null" DoCmd.RunSQL strSQL 【エラー】 Microsoft Visual Basicエラーダイアログが表示され、 「実行時エラー '3001' 引数が無効です。」と出ます。 クエリで同じものを作成しても同様のエラーが出ますが、SQL自体間違っているのでしょうか。 煮詰まっているのか、何がダメなのか判らない状況です。 もし判る方がいましたら、ご教授お願いします。

専門家に質問してみよう