- 締切済み
下記質問Vol.3です
If intSr = 1 Then intRes = MsgBox("追加してもO.K.ですか?", vbYesNo + vbQuestion) If intRes = vbYes Then With cmd .ActiveConnection = cn .CommandType = adCmdText .CommandText = strSQL .Execute End With Call 状態変化(2) End If Else intRes2 = MsgBox("更新しても良いですか?", vbYesNo + vbQuestion) If intRes2 = vbYes Then With cmd .ActiveConnection = cn .CommandType = adCmdText .CommandText = strSQL2 .Execute End With Call 状態変化(2) End If End If End Sub よろしくお願いします。 関連URL:http://www.okweb.ne.jp/kotaeru.php3?q=160999 http://www.okweb.ne.jp/kotaeru.php3?q=161003
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- TAGOSAKU7
- ベストアンサー率65% (276/422)
- urk
- ベストアンサー率33% (18/53)
- TAGOSAKU7
- ベストアンサー率65% (276/422)
- cat_tomato
- ベストアンサー率66% (6/9)
関連するQ&A
- Executeされない理由が知りたいので
Excel VBAのADODBコネクションについて。 Executeされない理由が知りたいのです。 お世話になっております。 引継が上手いいかず、原因が分からないExcelVBAがあり困っております。 【フォーム】ボタン3を押します。 Private Sub CommandButton3_Click() If MsgBox("当月の予定原価を集計します", vbYesNo) = vbNo Then Exit Sub End If DbLogic.ConnectionOpen DbLogic.ExePrc DbLogic.ConnectionClose MsgBox "終了しました", vbOKOnly End Sub 【標準モジュール】DbLogic Sub ConnectionOpen() '接続文字列作成 Dim con_str As String con_str = "Driver={Oracle in OraHome92};DBQ=" & oracle_sid & _ ";UID=" & oracle_user & _ ";PWD=" & oracle_password ' 接続オブジェクトの作成 Set cn = CreateObject("ADODB.Connection") ' 接続 cn.Open con_str cmd.ActiveConnection = cn cmd.CommandTimeout = 0 End Sub Function ExePrc() cmd.CommandType = adCmdStoredProc cmd.CommandText = "prc_yotei_genka_meisai" cmd.Execute ←処理が終わらない cmd.CommandType = adCmdText End Function デバックをすると cmd.Executeで処理が終わらずに【応答なし】になってしまいます。 調べるとココにはSQLを渡すと思ったのですが、違うようなのです。 ConnectionOpenは処理されて、 ExePrcのcmd.Executeで止まってしまいます。 prc_yotei_genka_meisaiを適当に変更したら、 実行時エラー2147467259(`80004005) となりエラーで止まりますので、 prc_yotei_genka_meisaiここの何かに問題があるのかなとは 当たりを付けております。 先月までは普通に動いたとのことなのですが、 考えられる要因などご存知の方おられませんでしょうか。 よろしくお願い致します。
- ベストアンサー
- Visual Basic
- Insert時に一意制約エラーがでる。
よろしくお願いします。 VB6.0 DB:ORACLE8.1.6 クライアントWIN2000 サーバーWIN2000SERVER VBでデータをINSERTするプログラムを作ったのですが、どうしても一意制約エラーが出てしまいます。 これはデータの都合上仕方が無いのか? (データの主キーに「.」が入っているのでエラーになるのでしょうか?) プログラムが悪いのか? よろしくお願いします。 エラーは2回目の実行部分です。 データ(すべて文字型) 000 001 002 ベルリン12345 ベルリン 12345 ベルリン123.45 ベルリン 123.45 ベルリン123 45 ベルリン 123 45 プログラム strSql = "Insert Into KUNIBETU(k000,k001,k002) Values ('ベルリン12345','ベルリン,'12345')" '処理のチェック If Execute_sql(strSql) = False Then Err.Raise -1, , "失敗しました!" cn.RollbackTrans rs.Close Set rs = Nothing cn.Close Set cn = Nothing Exit Sub End If strSql = "Insert Into KUNIBETU(k000,k001,k002) Values ('ベルリン1234.5','ベルリン','123.45')" '処理のチェック If Execute_sql(strSql) = False Then Public Function Execute_sql(strSql As String) As Boolean Dim cmd As New ADODB.Command Execute_sql = False ' Commandオブジェクトを作成 Set cmd = New ADODB.Command cmd.ActiveConnection = cn cmd.CommandText = strSql ' アクション クエリーを実行 cmd.Execute ←←←←←←エラー部分 Set cmd = Nothing Execute_sql = True Exit Function
- ベストアンサー
- Visual Basic
- レコードの削除
VB6.0 ACCESSで開発しています。 t_nyukoテーブルのデータを全て削除するのは下記のように 出来たのですが dataGridに表示されているものを1つ選択し 選択されたものだけ削除したいのですがどうすればいいのでしょうか? よろしくお願いします。 Private Sub Command1_Click() Dim cn As New ADODB.Connection Dim cmd As ADODB.Command Dim cat As New ADODB.Command Dim strSQL As String Set cn = New ADODB.Connection cn.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\temp\db2.mdb" cn.Open cat.ActiveConnection = cn strSQL = "DELETE FROM t_nyuko " Set cmd = New ADODB.Command cmd.ActiveConnection = cn cmd.CommandText = strSQL cmd.Execute cn.Close Set cmd = Nothing Set cn = Nothing Set cat = Nothing End Sub
- ベストアンサー
- Visual Basic
- 下記質問Vol.2です
strSQL = "insert into 商品マスタ values(" & txtループ(0).Text & ",'" & _ txtループ(1).Text & "'," & txtループ(2).Text & ")" strSQL2 = "update 商品マスタ set 商品名=" & "'" & txtループ(1).Text & "'," & "単価=" & _ txtループ(2).Text & " where " & "商品ID=" & txtループ(0).Text If txtループ(0).Text = "" Then MsgBox "商品IDに何かを入力してください" txtループ(0).SetFocus Exit Sub End If If txtループ(1).Text = "" Then MsgBox "商品名に何かを入力してください" txtループ(1).SetFocus Exit Sub End If If txtループ(2).Text = "" Then MsgBox "単価に何かを入力してください" txtループ(2).SetFocus Exit Sub End If vol.3へ 関連URL:http://www.okweb.ne.jp/kotaeru.php3?q=160999
- 締切済み
- Visual Basic
- aspファイルの内容が全くわかりません。困っています。
asp.netの初心者です。 今まで管理されていた人が休職してしまったので、代わりに修正や加工を少し行っていました。 しかし、以下のファイル内容が全く分かりません。(抜粋です。) 正常に使用しているファイルです。 最後の Session("pointzan")=rs("PointZan") はどこのデータベースから受け取っているのでしょうか? Select文がどこにも書かれていないので、全くわかりません。 それとも別のファイルなどに飛んで処理しているのでしょうか? rs("PointZan")を呼び出しているデータベースがどこなのかを知りたいです!! よろしくお願いいたします。 ---------------------------------------------- If Request.Form("CODE")="" then wID = Trim(Request("CODE")) Set pm = cm.CreateParameter("ID",129,1,13,wID) '(name,Char,Input,Length,Value) cm.Parameters.Append pm cm.CommandText = "UP_HIKI01" cm.CommandType = 4 cm.ActiveConnection = cn Set rs=cm.Execute Else wID = Trim(Request.Form("CODE")) Set pm = cm.CreateParameter("ID",129,1,13,wID) '(name,Char,Input,Length,Value) cm.Parameters.Append pm cm.CommandText = "UP_HIKI01" cm.CommandType = 4 cm.ActiveConnection = cn Set rs=cm.Execute End If Session("code")=rs("Code") Session("pointzan")=rs("PointZan") YVC1=rs("YVC1") If YVC1="" or isNULL(YVC1) Then session("YVC1")="" End If ----------------------------------------------
- ベストアンサー
- Microsoft ASP
- ExcelVBA Accessにデータ書き込み
VBAでコマンドボタンを押した際に特定のセルの値をAccessDBに入力するプログラムを作りたいのですが、上手くいきません...。 実行した際に「実行時エラー '21472179000 (80040e 14)': オートメーションエラーです。」と表示されます。 また、ステップインで実行してみるとEnd Withのところでエラーが発生します。 恐らくインサート文が間違っていると思うのですが、試行錯誤しても解決できませんでしたので教えて頂きたいです。 以下プログラムです。 Private Sub CommandButton1_Click() Dim cn As ADODB.Connection Dim cmd As ADODB.Command Dim rs As ADODB.Recordset Dim constr As String Dim strSQL1 As String Dim a As String a = Range("A1").Value Dim b As String b = Range("A2").Value Dim c As String c = Range("A3").Value constr = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=~.accdb strSQL1 = "insert into " & _ "TableName (1,2,3) " & _ "values ('" + Range("A1").Value + "','" + Range("A2").Value + "','" + Range("A3").Value + "')" Set cn = New ADODB.Connection cn.ConnectionString = constr cn.Open Set cmd = New ADODB.Command With cmd .ActiveConnection = cn .CommandText = strSQL1 .Execute End With Set cmd = Nothing Set rs = Nothing cn.Close Set cn = Nothing End Sub 以上、宜しくお願い致します。
- 締切済み
- その他(プログラミング・開発)
- CMD.Executeの結果をメッセージボックスで表示したい
Public Sub SQLActionCmd() Dim CN As ADODB.Connection Dim CMD As ADODB.Command Dim MYSQL As String '接続 Set CN = CurrentProject.Connection '更新 MYSQL = "SELECT * FROM 名簿 WEHRE 性別 = "男" ;" Set CMD = New ADODB.Command CMD.ActiveConnection = CN CMD.CommandText = MYSQL CMD.Execute '終了 Set CMD = Nothing RS.Close: Set RS = Nothing CN.Close: Set CN = Nothing End Sub と言う感じで実際にはAccessのフォームのボタンをクリックしたタイミングでコードをかいているのですが、このCMD.EXECUTEを実行した結果、テーブルに該当データがなければない旨のメッセージボックスを出したいのです。 そういうことは可能でしょうか?
- ベストアンサー
- その他(プログラミング・開発)
- ストアドプロシージャの実行で...
Test_Pro、というストアドプロシージャを実行させたいんですが、 Microsoft OLE DB Provider for SQL Server エラー '80040e14' ストアド プロシージャ 'Test_Pro' が見つかりませんでした。 というエラーが出てしまいます。どうして??? 実行させる為に書いたソースは、 set cmd = Server.CreateObject("ADODB.command") Set cmd.ActiveConnection = conn cmd.CommandText = "Test_Pro" cmd.CommandType = 4 Set rs = cmd.Execute("@a", a) です。
- 締切済み
- Visual Basic
- <>&などを保存する方法をおしえてください。
<>&などを保存する方法をおしえてください。 NameTextBox CommentTextBox 保存ボタン があり保存ボタンを押すと 下記コードが実行されるようにしました。 これで、保存はできるようになったのですが <>&などを使用するとエラーとなってしまします。 <>&を使用するにはどのようにしたらいいのでしょうか? 教えてください。 Dim strSQL As String = "INSERT INTO tableA (Name,Comment) VALUES (@Name,@Comment)" Using con As New SqlConnection(conStr) Dim command As New SqlCommand(strSQL, con) con.Open() Using cmd1 As SqlDataReader = con.CreateCommand() cmd1.CommandType = CommandType.Text Try with cmd1 .Parameters.Add("@Name", SqlDbType.NVarChar) .Parameters.Add("@Comment", SqlDbType.NVarChar) .Parameters("@Name").Value = NameTextBox .Parameters("@Comment").Value = CommentTextBox End With cmd1.CommandText = strSQL cmd1.ExecuteNonQuery() Catch er As Exception Finally con.Close() Catch ex As Exception Finally con.Close() End Try End Using End Using
- ベストアンサー
- Microsoft ASP
- エクセルからアクセスのアクションクエリ エラー
今までできてたコードが急にできなくなりました。 エクセルからアクセスのアクションクエリを実行するvbaコードなのですが Sub 削除クエリを実行する () Dim cmd As New ADODB.Command Dim MySQL As String cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=" & "D:\(test).accdb" MySQL = "DELETE Tローカル.* FROM Tローカル;" cmd.ActiveConnection = cn cmd.CommandText = MySQL cmd.Execute MySQL cn.Close: Set cn = Nothing End Sub を、今までやっていたのに、 昨日からできなくなりました。 cn.Open "Provider の部分で、 実行時エラー、-2147467259(80004005) エラーを特定できません。 となります。 環境は、win7、オフィス2010です。
- ベストアンサー
- オフィス系ソフト
補足
早速の回答ありがとうございます。 一様ですね、実行時にはちゃんと処理はできるのですが・・・問題は既に登録済みの「商品ID」を「追加」ボタンを押した後に打ち込んだときに「既に存在します」とMsgBoxで出すためにはどこをどうすればよいかを質問の主点としてるのでご指摘の順番が違うというのは私の質問の解決に直結しますか?VBに関しては初心者なので詳しいご指摘をお願いします。 注文が多くてすいませんm(. .)m