No.6ベストアンサー
- 回答日時:
こんにちは
>dim rst as new adodb.recordset
>set rst = new adodb.recordset って記述は
本来は必要です
行数を減らすため、省略していました
あえて書かなくても、あなたがNo1の回答に対する補足に
記述されているので、すでに理解されているものと思っていました。
失礼しました。
長々とアドバイスいただき大変感謝しております。
これからももっと勉強してアドバイスできる立場になれるよう精進します。
本当にありがとうございました。
No.5
- 回答日時:
こんにちは
sqlstring = sqlstring & "where 座席コード ='" & 座席コード & "'"
sqlstring = sqlstring & "返却 = '1';"
のsqlstring & "返却 = '1';"のところでスペースが抜けてますね
"返却 →" 返却
としてください。
ここからは、忠告です。
ぼちぼち、ご自身でデバッグする知識を身につけた方がよろしいかと
存じます(^^;;)
人から教えてもらったソースを理解しないで動かすと
後から変更が発生したとき、大変ですよ
ヘルプを調べたり、SQL文をイミディエイトに貼りつけてデバッグ
それをクエリのSQLに貼り付けて、試してみたりと
なかなか、しんどいですが、頑張ってください。
では
この回答への補足
おっしゃるとおりです。
あせってしまっていてつい、、
ところで最後にひとつだけおしえてください。
rst.open sqlstring, _ -----
とありますが、sqlのばあいは
最初に
dim rst as new adodb.recordset
set rst = new adodb.recordset って記述は
必要ないですか?
No.4
- 回答日時:
こんにちは
失礼しました。ご指摘の通り & が抜けております
SQLSTRING = SQLSTRING & " where 座席コード ='" & Me.座席コード & "'"
SQLSTRING = SQLSTRING & " Set 終了時間 ='" & rst![終了時間] & "',"
SQLSTRING = SQLSTRING & " Where 座席コード ='" & Me.座席コード & "'"
全て、行後部の "'" または"',"で囲んだ文字列の前の & が抜けてます
失礼しました
この回答への補足
すいません
今度はオブジェクトがありませんのエラーが出でしまいました場所は下記の
rst.open sqlstring,_
currentproject.connecction,adopenstatic,adlockreadonly
のところです。
何でしょう????
Dim sqlstring As String
sqlstring = "select * from sogo "
sqlstring = sqlstring & "where 座席コード ='" & 座席コード & "'"
sqlstring = sqlstring & "返却 = '1';"
rst.Open sqlstring, _
CurrentProject.Connection, adOpenStatic, adLockReadOnly
If rst.EOF = True Or rst.BOF = True Then
'エラー処理
Beep
MsgBox ("まだ返却されていません")
End If
No.3
- 回答日時:
こんにちは
手順としては
1.キー入力
2.合致したレコードを読んで
3.画面に表示
4.終了時間入力
5.更新=UPDATE
ですよね
レコード読みこみの条件は
キーが[座席コード]
条件は[返却]が1のものでよろしいかと思います
sub データリード画面表示()
dim SQLSTRING as string
SQLSTRING = "select * form 総合 "
'座席コード・返却は文字型とみなしています
SQLSTRING = SQLSTRING & " where 座席コード ='" & Me.座席コード "'"
SQLSTRING = SQLSTRING & " and 返却 ='1';"
'注ただこれだと入力もれの場合複数レコードが合致するので
'日付と受付時間の最大という条件もあったほうがいいかも?
rst.Open SQLSTRING, _
CurrentProject.Connection, adOpenStatic, adLockReadOnly
If rst.eof = true or rst.bof = true then
'エラー処理
endif
'画面表示
Me.Date= rst![日付]
Me.学生番号 = rst![学生番号]
Me.氏名=rst![氏名]
・
・
・
rst.Close
Set rst = Nothing
End Sub
これで画面表示ができたので終了時間を入力します
更新ボタンを設け、ボタンが押された処理で
sub 更新()
dim SQLSTRING as string
SQLSTRING = "UPDATE 総合 "
SQLSTRING = SQLSTRING & " Set 終了時間 ='" & rst![終了時間] "',"
SQLSTRING = SQLSTRING & " Set 返却 ='2'"
SQLSTRING = SQLSTRING & " Where 座席コード ='" & Me.座席コード "'"
SQLSTRING = SQLSTRING & " and 返却 ='1';"
rst.Open SQLSTRING, _
CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rst.Close
Set rst = Nothing
End Sub
では
この回答への補足
早速ありがとうございました
しかし下記の構文がエラーになってしまいます
なぜでしょう?
& のあとは " っていらないんですか?
たとえば
sqlstring =sqlstring & "where 座席コード ='" & me.座席コード"'"
のところとかですが、、、
sub データリード画面表示()
SQLSTRING = SQLSTRING & " where 座席コード ='" & Me.座席コード "'"
sub 更新()
SQLSTRING = SQLSTRING & " Set 終了時間 ='" & rst![終了時間] "',"
SQLSTRING = SQLSTRING & " Where 座席コード ='" & Me.座席コード "'"
No.2
- 回答日時:
こんにちは
一般的なテーブルメンテナンスの処理には
1.新規登録
2.更新登録
3.削除
があります。
これを一つのフォームで行う場合
今からどれをするよと初めに確定させてから処理するか
キー項目を入力させ、データがあれば更新・削除モード
なければ新規登録モードとさせる、2通りがあります。
まずは、最初に確定させる方法がわかりやすいかと思います。
フォームの上にコマンドボタンを新規と更新・削除の二つ用意して
処理を分岐させれば、いかがでしょうか
では
No.1
- 回答日時:
フォームの開く時のイベントで表示させたいレコードをクエリやSQLで抽出し、各項目をコントロールにセットします。
保存時は更新処理となります。
新規に追加する処理がVBAを使用していてSQLを使用していて、SQLでinsertステートメントで行っているのでしたら同じようにupdateステートメントにwhere句でレコードを指定し更新処理が掛けられます。
もし、addnewメソッド等でそのレコードに対して追加しているようでしたら、更新したいレコードに対するレコードセットを作成しそのレコードに対してeditメソッドを使用し、updateメソッドで更新を掛けられます。
また元々追加クエリで追加しているようでしたら、更新クエリを作成しクエリの抽出条件をフォーム上に有るキー項目として、値をビルドで各フォームの値にしてあげれば出来ると思います。
ざっと考えてこの3種類が有ります。
この回答への補足
アドバイスありがとうございました。
保存用の総合テーブルがあり、最初に保存した時に返却フィールドに”1”を入力して保存しています。
2度目に座席コードを入力用テキストボックスに入力した時に返却フィールドの”1”の場合の座席コードが一致したレコードの終了時間フィールドに時間をいれて2回目の保存の時に返却フィールドを”2”に書き換えて保存したいのですが、どのようなコードになるかサンプルだけでも教えていただけないでしょうか?今のコードは下記のとおりです。
Public Sub 保存処理2()
Dim rst As New ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Open "総合", _
CurrentProject.Connection, adOpenKeyset, adLockOptimistic
rst.AddNew
rst![日付] = Date
rst![学生番号] = Me.学生番号
rst![氏名] = Me.氏名
rst![受付時間] = Me.受付時間
rst![終了時間] = Me.終了時間
rst![座席コード] = Me.座席コード
rst![座席番号] = Me.座席番号
rst![性別] = Me.性別
rst![履修] = Me.r.Value
rst![ホームページ] = Me.h.Value
rst![電子メール] = Me.m.Value
rst![レポート作成] = Me.re.Value
rst![就職利用] = Me.j.Value
rst![その他] = Me.o.Value
rst![mo] = Me.mo.Value
rst![プリンター] = Me.pri.Value
rst![スキャナ] = Me.scan.Value
rst![zip] = Me.zip.Value
rst![返却] = "1"
rst.Update
rst.Close
Set rst = Nothing
Me.入力用テキストボックス = ""
Me.学生番号 = ""
Me.受付時間 = ""
Me.氏名 = ""
Me.座席コード = ""
Me.座席番号 = ""
Me.性別 = ""
Me.終了時間 = ""
Me.r.Value = False
Me.h.Value = False
Me.m.Value = False
Me.re.Value = False
Me.j.Value = False
Me.o.Value = False
Me.mo.Value = False
Me.scan.Value = False
Me.pri.Value = False
Me.zip.Value = False
入力用テキストボックス.SetFocus
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
準・究極の選択
「年収1000万円で一生カレーライス」か 「年収180万円で毎日何でも食べ放題」 あなたはどちらを選びますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
ACCESSで空白のデーターをクエリで判定/識別する方法を教えてくださ
Access(アクセス)
-
ACCESSの上書き保存
Word(ワード)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードを保存するコード ア...
-
新規レコード行を非表示にしたい
-
Accessで新しいレコードに規定...
-
Accessでレコードの保存をせず...
-
アクセスでフォームビューがみ...
-
フィルタ後のフォームの件数の...
-
アクセス帳票フォームのループ...
-
Access データのないフォーム...
-
Accessでチェックボックスで抽...
-
Accessで前に入力したフィール...
-
ACCESSでフォームを使って、テ...
-
Access 帳票フォームでカレント...
-
Accessでフォーム上に 直前の...
-
Access サブフォームにフィルタ...
-
ACCESSフォームのリストボック...
-
accessのクエリで、該当するデ...
-
Access 「このレコードを保存す...
-
アクセス データの競合を非表...
-
アクセスの自動保存解除はでき...
-
Access2010、値を入力したら自...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードを保存するコード ア...
-
新規レコード行を非表示にしたい
-
アクセスでフォームビューがみ...
-
Accessでレコードの保存をせず...
-
フィルタ後のフォームの件数の...
-
ACCESS起動時に所定フォームを...
-
ACCESSでフォームを使って、テ...
-
レコード削除時に(サブ)フォー...
-
Accessで上の行を自動でコピー...
-
Accessでフォーム上に 直前の...
-
アクセスの自動保存解除はでき...
-
Access 「このレコードを保存す...
-
アクセス データの競合を非表...
-
Access:フォームプロパティ「...
-
ACCESSフォームのリストボック...
-
Access レコード移動時イベント...
-
AccessVBA RecordSourceのリセ...
-
ACCESSのクエリで抽出したデー...
-
Accessでのデータ消滅に...
-
accessのクエリで、該当するデ...
おすすめ情報