kosamon の回答履歴
- 実行時エラー3021
実行時エラー3021「BOFとEOFのいずれかTRUEになっていか、または現のレコード要求された操作には、現在のレコードが必要です。」 というエラーが発生します。 エラーになるコードの一部を掲載します。 コードの内容は、アクセスのT_店名テーブルで、str店名の値同じレコードの地図フィールドの値を取得する内容です。 地図フィールドがnullなら何も取得しないようにifステートメントで分けています。 ------------------------------------------------------------ str店名="abc会社" rs.Open "SELECT * FROM T_店名", cn, adOpenStatic, adLockPessimistic rs.Filter = "店名 = '" & str店名 & "'" If IsNull(rs("地図")) = True Then Else ’ここでエラーになる str地図 = rs("地図") End If rs.Close: Set rs = Nothing ------------------------------------------------------------ "abc会社"は、コード上(VBA上) IsNull(rs("地図")) = True では、Falseになってしまい、 str地図 = rs("地図") でエラーになります。 目で見た限り "abc会社"は、T_店名テーブルに存在しますし、 地図フィールドはNullっぽいです。 なのになぜ If IsNull(rs("地図")) = True Then で、True にならないのでしょうか? True にならないために、 str地図 = rs("地図") で、実行時エラー3021というエラーになってしまうようです。
- ベストアンサー
- オフィス系ソフト
- ahvdxeqtoje
- 回答数2
- アクセスで更新クエリ 「引数が無効です」
アクセスで更新クエリを実行しようとしたら 「引数が無効です」というエラーになってしまいます。 更新クエリの内容(SQL文)は、 UPDATE T_詳細 SET T_詳細.name = StrConv([T_詳細]![name],8); のような感じで、半角にしようとしています。 どこが間違っているのでしょうか?
- ベストアンサー
- その他MS Office製品
- zyqhvpjd
- 回答数1
- ACCESS どこがおかしいのか?
ACCESSで。クエリからフォームを作成し、検索フォームを作成しようとしています。 AND条件とOR条件を作り検索(抽出)を行いたいのですが、何が間違っているのか、 検索をかけるとすべて「登録がありません」になってしまいます。 どこが間違っているのか、もしくは代替案を教えていただけますでしょうか。 以下は記述した、VBAコードです。 Private Sub 検索ボタン_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim stFil As String Set db = CurrentDb() Set rs = db.OpenRecordset("Q_Autoweb", dbOpenDynaset) 'オプションボタンで条件を選択 If 検索条件 = 1 Then rs.Filter = "[タイトル]='" & タイトル検索 & "' and [本文]='" & テキスト15 & "'" Else rs.Filter = "[タイトル]='" & タイトル検索 & "' or [本文]='" & テキスト15 & "'" End If Set rs = rs.OpenRecordset Set Me.Recordset = rs If rs.EOF = True Then MsgBox "登録がありません" Else Me.ID = rs!ID Me.案件名 = rs!案件名 Me.タイトル = rs!タイトル Me.本文 = rs!本文 End If rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub よろしくお願いします。
- 締切済み
- オフィス系ソフト
- arimasouitirou
- 回答数5
- ACCESS どこがおかしいのか?
ACCESSで。クエリからフォームを作成し、検索フォームを作成しようとしています。 AND条件とOR条件を作り検索(抽出)を行いたいのですが、何が間違っているのか、 検索をかけるとすべて「登録がありません」になってしまいます。 どこが間違っているのか、もしくは代替案を教えていただけますでしょうか。 以下は記述した、VBAコードです。 Private Sub 検索ボタン_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim stFil As String Set db = CurrentDb() Set rs = db.OpenRecordset("Q_Autoweb", dbOpenDynaset) 'オプションボタンで条件を選択 If 検索条件 = 1 Then rs.Filter = "[タイトル]='" & タイトル検索 & "' and [本文]='" & テキスト15 & "'" Else rs.Filter = "[タイトル]='" & タイトル検索 & "' or [本文]='" & テキスト15 & "'" End If Set rs = rs.OpenRecordset Set Me.Recordset = rs If rs.EOF = True Then MsgBox "登録がありません" Else Me.ID = rs!ID Me.案件名 = rs!案件名 Me.タイトル = rs!タイトル Me.本文 = rs!本文 End If rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub よろしくお願いします。
- 締切済み
- オフィス系ソフト
- arimasouitirou
- 回答数5
- ACCESS どこがおかしいのか?
ACCESSで。クエリからフォームを作成し、検索フォームを作成しようとしています。 AND条件とOR条件を作り検索(抽出)を行いたいのですが、何が間違っているのか、 検索をかけるとすべて「登録がありません」になってしまいます。 どこが間違っているのか、もしくは代替案を教えていただけますでしょうか。 以下は記述した、VBAコードです。 Private Sub 検索ボタン_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim stFil As String Set db = CurrentDb() Set rs = db.OpenRecordset("Q_Autoweb", dbOpenDynaset) 'オプションボタンで条件を選択 If 検索条件 = 1 Then rs.Filter = "[タイトル]='" & タイトル検索 & "' and [本文]='" & テキスト15 & "'" Else rs.Filter = "[タイトル]='" & タイトル検索 & "' or [本文]='" & テキスト15 & "'" End If Set rs = rs.OpenRecordset Set Me.Recordset = rs If rs.EOF = True Then MsgBox "登録がありません" Else Me.ID = rs!ID Me.案件名 = rs!案件名 Me.タイトル = rs!タイトル Me.本文 = rs!本文 End If rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub よろしくお願いします。
- 締切済み
- オフィス系ソフト
- arimasouitirou
- 回答数5
- ACCESS どこがおかしいのか?
ACCESSで。クエリからフォームを作成し、検索フォームを作成しようとしています。 AND条件とOR条件を作り検索(抽出)を行いたいのですが、何が間違っているのか、 検索をかけるとすべて「登録がありません」になってしまいます。 どこが間違っているのか、もしくは代替案を教えていただけますでしょうか。 以下は記述した、VBAコードです。 Private Sub 検索ボタン_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim stFil As String Set db = CurrentDb() Set rs = db.OpenRecordset("Q_Autoweb", dbOpenDynaset) 'オプションボタンで条件を選択 If 検索条件 = 1 Then rs.Filter = "[タイトル]='" & タイトル検索 & "' and [本文]='" & テキスト15 & "'" Else rs.Filter = "[タイトル]='" & タイトル検索 & "' or [本文]='" & テキスト15 & "'" End If Set rs = rs.OpenRecordset Set Me.Recordset = rs If rs.EOF = True Then MsgBox "登録がありません" Else Me.ID = rs!ID Me.案件名 = rs!案件名 Me.タイトル = rs!タイトル Me.本文 = rs!本文 End If rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub よろしくお願いします。
- 締切済み
- オフィス系ソフト
- arimasouitirou
- 回答数5
- ACCESS どこがおかしいのか?
ACCESSで。クエリからフォームを作成し、検索フォームを作成しようとしています。 AND条件とOR条件を作り検索(抽出)を行いたいのですが、何が間違っているのか、 検索をかけるとすべて「登録がありません」になってしまいます。 どこが間違っているのか、もしくは代替案を教えていただけますでしょうか。 以下は記述した、VBAコードです。 Private Sub 検索ボタン_Click() Dim db As DAO.Database Dim rs As DAO.Recordset Dim stFil As String Set db = CurrentDb() Set rs = db.OpenRecordset("Q_Autoweb", dbOpenDynaset) 'オプションボタンで条件を選択 If 検索条件 = 1 Then rs.Filter = "[タイトル]='" & タイトル検索 & "' and [本文]='" & テキスト15 & "'" Else rs.Filter = "[タイトル]='" & タイトル検索 & "' or [本文]='" & テキスト15 & "'" End If Set rs = rs.OpenRecordset Set Me.Recordset = rs If rs.EOF = True Then MsgBox "登録がありません" Else Me.ID = rs!ID Me.案件名 = rs!案件名 Me.タイトル = rs!タイトル Me.本文 = rs!本文 End If rs.Close Set rs = Nothing db.Close Set db = Nothing End Sub よろしくお願いします。
- 締切済み
- オフィス系ソフト
- arimasouitirou
- 回答数5
- Accessで、輸出用パッキングリストを作っているんですが。。。
アクセスで、輸出用のパッキングリストを作っています。 困っているのが、ケースマークです。 例えば 5個荷物があります。そのケースマークの番号が、 C/NO.30 XXXX 50PCT 50KGS C/NO.41 XXXX 50PCT 50KGS C/NO.55 -DITTO- C/NO.65 -DITTO- C/NO.40 -DITTO- という感じであるのですが、これをレポート上に、 ABC JAPAN C/NO.(30,41,55,65,40) ↑( )内にこういう感じにいれたいのですが、カッコ内の設定はどうしたらよいのでしょうか? 無理でしょうか? お分かりの方がいらっしゃいましたら、教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- noname#68072
- 回答数3
- Accessで、輸出用パッキングリストを作っているんですが。。。
アクセスで、輸出用のパッキングリストを作っています。 困っているのが、ケースマークです。 例えば 5個荷物があります。そのケースマークの番号が、 C/NO.30 XXXX 50PCT 50KGS C/NO.41 XXXX 50PCT 50KGS C/NO.55 -DITTO- C/NO.65 -DITTO- C/NO.40 -DITTO- という感じであるのですが、これをレポート上に、 ABC JAPAN C/NO.(30,41,55,65,40) ↑( )内にこういう感じにいれたいのですが、カッコ内の設定はどうしたらよいのでしょうか? 無理でしょうか? お分かりの方がいらっしゃいましたら、教えてください。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- noname#68072
- 回答数3
- Access200xにおいて、VBAの変数の値をリストボックスのRowSource内で参照する方法はありますか?
Access初心者です。説明不足なところなどありましたら、ご指摘ください。 フォームにテキストボックスとリストボックスを配置し、テキストボックスに入力した値をVBAで加工して、その加工された値をキーにDBを参照して、リストボックスに表示したいと考えています。 テストの手順を簡単に説明します(この問題はデータの加工自体にはないと考えているので、入力された値をそのままキーにして値を取得しています。) 1.テーブル作成(テーブル名:tblTEST) テーブル構造 ID DATA 1 あああ 2 いいい 3 ううう 2.フォーム作成(フォーム名:frmTSET) 3.frmTEST内にテキストボックス作成(オブジェクト名:txtTEST) 4.frmTEST内にリストボックス作成(オブジェクト名:lstTEST) RowSourceプロパティの値に SELECT [tblTEST].[DATA] FROM tblTEST WHERE ID=[strTEST]; 5.VBAでtxtTESTのChangeイベントに以下のコードを記述 宣言部 Dim strTEST As String 関数部 Private Sub txtTEST_Change() strTEST = txtTEST.Text lstTEST.Requery End Sub 期待する動作は、テキストボックスに1と入力したらリストボックスに「あああ」が表示される。という動作なのですが、テキストボックスに値を入力すると、「パラメータの入力」ダイアログが表示され、strTESTの値を入力するよう促されてしまいます。 恐らく、txtTEST_Change()関数でstrTESTにはテキストボックスの入力値が入っていますが、手順4の条件句のところで、strTESTの値が取れてないのだと思います。この条件句のところでVBAの変数を参照するにはどのように記述すればよいのでしょうか? 尚、上記のやり方はAccess2003及び2007でテストしてダメでしたが、Access97では動作するようなのです。 他の手法で同様の動作を実現する方法はいくつか思いつくのですが、Accessのバージョンアップによる作業を減らすため、上記のような方法によって、この機能を実現させたいと考えています。 よろしくお願いします。
- Access200xにおいて、VBAの変数の値をリストボックスのRowSource内で参照する方法はありますか?
Access初心者です。説明不足なところなどありましたら、ご指摘ください。 フォームにテキストボックスとリストボックスを配置し、テキストボックスに入力した値をVBAで加工して、その加工された値をキーにDBを参照して、リストボックスに表示したいと考えています。 テストの手順を簡単に説明します(この問題はデータの加工自体にはないと考えているので、入力された値をそのままキーにして値を取得しています。) 1.テーブル作成(テーブル名:tblTEST) テーブル構造 ID DATA 1 あああ 2 いいい 3 ううう 2.フォーム作成(フォーム名:frmTSET) 3.frmTEST内にテキストボックス作成(オブジェクト名:txtTEST) 4.frmTEST内にリストボックス作成(オブジェクト名:lstTEST) RowSourceプロパティの値に SELECT [tblTEST].[DATA] FROM tblTEST WHERE ID=[strTEST]; 5.VBAでtxtTESTのChangeイベントに以下のコードを記述 宣言部 Dim strTEST As String 関数部 Private Sub txtTEST_Change() strTEST = txtTEST.Text lstTEST.Requery End Sub 期待する動作は、テキストボックスに1と入力したらリストボックスに「あああ」が表示される。という動作なのですが、テキストボックスに値を入力すると、「パラメータの入力」ダイアログが表示され、strTESTの値を入力するよう促されてしまいます。 恐らく、txtTEST_Change()関数でstrTESTにはテキストボックスの入力値が入っていますが、手順4の条件句のところで、strTESTの値が取れてないのだと思います。この条件句のところでVBAの変数を参照するにはどのように記述すればよいのでしょうか? 尚、上記のやり方はAccess2003及び2007でテストしてダメでしたが、Access97では動作するようなのです。 他の手法で同様の動作を実現する方法はいくつか思いつくのですが、Accessのバージョンアップによる作業を減らすため、上記のような方法によって、この機能を実現させたいと考えています。 よろしくお願いします。
- パワーポイントできれいな「「うずまき」の線を描くにはそうすれば
パワーポイントできれいな「うずまき」の線を描くにはそうすれば いいでしょうか。 手書きでやってみたのですがきれいでありませんでした。 「うずまき」をきれいに描くにはどうすればいいでしょうか。
- Accessで困ってます
はじめまして。わたしはAccess2003で簡単なデータの管理をするように会社で指示を受けてAccessと格闘しています。でも、どうしてもわからないので、ご指導いただきたいのです。 Access2003のテーブルで No(オートナンバー) 日付(yyyy/mm/dd) 担当者(テキスト) 商品コード(テキスト) 受注数(整数) というテーブルがあります。 このテーブルで、「当日」に「同一の担当者」が「異なった商品」を「複数受注した場合」に「当日一番最初に受注した商品だけ」は「受注数」に「10」加算する。 といったクエリ?マクロ?を作りたいのです。 クエリでできるのか?どうかもわからない初心者ですが、何卒ご指導をお願いいたします。 助けてください。
- VBA 複数のCSVファイルを一度にインポートするには?
お世話になります ■概要 Accessのボタンで複数のCSVファイルを一括にひとつのテーブルにインポートさせたいのですが ■内容 テキストボックス、参照ボタン、実行ボタンをフォーム上に設置 参照ボタンでダイアログボックスを表示させCSV複数選択し 選択内容がテキストへ反映。 実行ボタンで選択された複数CSVをインポートさせたいです 当方初心者なのでVBA等の回答があれば幸いです ご教授よろしくお願い致します。
- ACCESSでフォームを使って、テーブルを参照、データ入力、データ更新をしたいのです
フォームを使って、テーブルを参照、データ入力、データ更新をしたいのです。 売上テーブル ID 商品コード 日付 金額 1 G1 20080101 532153 2 G1 20080101 564281 3 G1 20080301 538123 4 J4 20080301 124531 5 J4 20080302 125483 ID:オートナンバー 商品コード:数値型 日付:数値型 金額:数値型 これを使い、 フォームではまず レコードナンバーを入力画面 ↓ レコード番号を入れると、そのレコードのデーターが画面に表示され、 その画面で修正可能 ↓ 保存 ボタンで保存 という流れです。 レコードナンバーはIDを使おうと思っています。 データの量が莫大な為、コンポボックスなどは使えません。 できるだけ、VBAなどは使わずに作りたいです。 よろしくお願い致します。
- 【AccessVBA】ファルダごとインポート
お世話になります 実行可能かわからない範囲でお聞きしています。 ■概要 フォルダごとCSVをインポートする ■詳細 フォーム上でテキストボックス、参照ボタン、実行ボタン、を設置 参照ボタンでダイアログボックスを表示しファルダを選ぶ 選ぶとテキストボックスにあて先が記載され実行ボタンでファイル内にあるCSVファイルを一括してAccessテーブルにインポートさせたいのですが可能ですか? ■環境 Access2003 CSV カンマ区切り CSVの数はまちまちです1個のときもあります CSVの列等は全部統一されています わかる方ご教授よろしくお願いします。
- 【AccessVBA】ファルダごとインポート
お世話になります 実行可能かわからない範囲でお聞きしています。 ■概要 フォルダごとCSVをインポートする ■詳細 フォーム上でテキストボックス、参照ボタン、実行ボタン、を設置 参照ボタンでダイアログボックスを表示しファルダを選ぶ 選ぶとテキストボックスにあて先が記載され実行ボタンでファイル内にあるCSVファイルを一括してAccessテーブルにインポートさせたいのですが可能ですか? ■環境 Access2003 CSV カンマ区切り CSVの数はまちまちです1個のときもあります CSVの列等は全部統一されています わかる方ご教授よろしくお願いします。
- 【HELP】拡張子がdifというファイルをAccessで処理したいです
拡張子がdifというファイルがあるのですが、これをAccessに 加工するにはどうしたらいいでしょうか? メモ帳で開くと、本来1行で表示されるべきレコードが途中で 改行されています。 また、行が少ないDifファイルならExcelで開いて保存して Accessで読み込めますが、行数が多いファイルはExcelで 読めません。(Access、Excelは環境上2003しか使えません) また、直接DifファイルをAccessで読もうとするとエラーが 表示されます。 業務で使うファイルなので詳しくはかけませんが、よろしく お願いします。
- ベストアンサー
- オフィス系ソフト
- grudiet111
- 回答数2
- アクセスのレポート出力について
いつも楽しく拝見しています。 質問させてください。 アクセスのレポートについてなのですが、今フォームのボタンを押すと「納品書」と言うレポートが出力されるようになっています。 これをフォームのボタンを押すと「納品書」と「納品書控え」と言う2つのレポートを出力したいと考えています。 試しに自分でやってみると、2つのレポートは別々のウィンドウで表示され、印刷ボタンを2回押せば可能な所まできました。 出来れば、これを改良し、 フォームのボタンを押す→レポートが表示(納品書と納品書控えが同じウィンドウにて続けて表示される)→印刷(納品書と納品書控えが出力される) と言う形にしたいと考えております。 これは可能なことなのでしょうか? また、可能な場合、どのような仕込が必要なのでしょうか? おわかりになる方いらっしゃいましたら、ご教授ください。 よろしくお願いいたします。
- Access 検索フォームの作り方について
Accessで受付リスト作成しました。 *受付一覧テーブル:データはここに保存 *入力フォーム:データはここから入力 これとは別に、検索フォームを作りたいのです。 フォームのヘッダーにテキスト(氏名を入力)とトグルボタン("検索開始")を作って、 受付一覧テーブルにあるデータを入力フォームと同じ形式で呼び起こしたいのです。 初心者のため、こんな簡単な質問をして申し訳ございません。 ただ、1点気になるのが、テキストには全くの同一人物のデータが複数あります。 (例) 受付日 氏名 2005/11/2 山田 太郎 2006/02/5 山田 太郎 2007/10/1 山田 太郎 この複数のデータを受付日直近のものから順呼び起こすことは可能でしょうか? 難しいの場合は、単純に検索フォームの作り方をお教えいただけますと大変助かります。 何卒よろしくお願いいたします。