データがないときにエラーメッセージを出したい

このQ&Aのポイント
  • データがない場合にエラーメッセージを出すためのAccessVBAを作成しましたが、うまくできません。どうすればいいでしょうか。
  • クエリの結果をHTMLファイルで出力するAccessVBAを作成しましたが、データがない場合にエラーメッセージを表示する方法がわかりません。アドバイスをお願いします。
  • AccessVBAでクエリのデータがない場合にエラーメッセージを表示する方法を教えてください。
回答を見る
  • ベストアンサー

データがないときにエラーメッセージを出したい

クエリの結果をHTMLファイルで出力するようなAccessVBAを作成しました。クエリのデータがあれば問題ないのですが、 データがない場合にエラーメッセージを出そうと考えていますが、 うまくできません。どうしたらいいのでしょうか。 よろしくおねがいします。 ****************************************************** 作成したVBA ****************************************************** Private Sub test_Click() Dim fNAME As String fNAME = "c:\test.html " Open fNAME For Output As # Print #, "<html>" Print #, "<head>" Print #, "</head>" Print #, "<body>" Print #, "<table>" mySQL = "SELECT ……;" Set myRS = CurrentDb.OpenRecordset(mySQL) ****************************************************** ここに、クエリのデータがなければ、 エラーメッセージを出そうかと考えています。 ↓のようにしたらだめでした。 If mySQL <> False Then MsgBox "入力した日付のデータはありません。" End If ****************************************************** Do Print #, "<tr><td>" & myRS(1).Value & "</td></tr>" myRS.MoveNext If myRS.EOF Then Exit Do Loop Print #, "</table>" Print #, "</body>" Print #, "</html>" End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • kurodai2
  • ベストアンサー率38% (77/202)
回答No.1

If myRS.eof Then MsgBox "入力した日付のデータはありません。" End If で、どうでしょう?

smorgas030
質問者

お礼

回答ありがとうございます。 やってみたらできました。 ありがとうございました。

関連するQ&A

  • 下記エラーメッセージ解決について

    Parse error: syntax error, unexpected T_STRING in /home/パス名/kanrisha/dis_tbl_year.php on line 32  どこが悪いのでしょうか? <?php /* 登録年度一覧表示 dis_tbl_year.php */ session_start(); print <<<EOD <HTML> <HEAD> <TITLE>tbl_yearの表示</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset="Shift_JIS"> </HEAD> <BODY BGCOLOR="#E6E6FA" text="#000066" link="#A020F0" body alink="#FF00FF" body vlink="#9400D3"> EOD; //データベース関連のデータをインクルードします //MySQLに接続します $result = mysql_query($sql); // select を実行 if ($result == false){ printf("SQL:\"$sql\"の実行に失敗しました。"); exit; } $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><登録年度一覧></H2></CENTER>"); print("<table border = \"1\" align = \"center\">\n"); print("<TR><TH>年度ID</TH><TH>年度</TH></TR>\n"); //ちなみに32行目はここです。 if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION = \"hensyu_year.php\" METHOD=\"POST\" TARGET=\"right\">"); $data = mysql_fetch_object($result); $year_id = $data->year_id; $year = $data->year; print("<TR>"); print("<TD>$year_id</TD>"); print("<TD>$year</TD>");

    • 締切済み
    • PHP
  • ACCESSVBAでラジオボタンを実行させたい

    フォームにラジオボタンを作成し、それぞれ、A・Bと設定しました。 (プロパティで”名前”を”A””B”とした) そこで、Aを選択した場合に、Aのコードを実行させ、 Bを選択した場合にBのコードを実行させたいと考えています。 以下のコードを作成しましたが、うまくいきません。 どこが間違っているのでしょうか。よろしくおねがいします。 ********************************************** Private Sub test_Click() Dim fNAME As String fNAME = "c:\test.htm " Open fNAME For Output As #1 Print #1, "<html>" Print #1, "<head></head>" Print #1, "<body>" If & A & = True Then Print #1, "<table>" … Print #1, "</table>" ElseIf & B & = True Then Print #1, "<table>" … Print #1, "</table>" End If Print #1, "</body></html>" End Sub

  • PHPとMySQLの文字化けの対応法は?

    OSはWinXPで、MySQL+PHPのアプリを作成しているところです。 <html> <head><title>配列データの取得</title></head> <body> <table border="1"> <tr><td>題名</td><td>著者</td><td>出版社</td></tr> <?php $host = "localhost"; if (!$conn = mysql_connect($host, "user", "pass")){ die("MySQL接続エラー.<br />"); } mysql_select_db("kisop", $conn); $sql = "SELECT * FROM book_table LIMIT 10"; $res = mysql_query($sql,$conn); while($row = mysql_fetch_array($res)) { print("<tr>"); print("<td>".$row["btitle"]."</td>"); print("<td>".$row["bauth"]."</td>"); print("<td>".$row["bpub"]."</td>"); print("</tr>\n"); } mysql_free_result($res); ?> </table> </body> </html> と、こんな演習をしているのですが、ブラウザに表示させると文字化けしました。 HTML文はEUC、MySQLのデータは、シフトJISで入っていたようです。 そのため、「題名」「著者」などの見出しと、取り出したデータを同時に文字化けさせずに、表示できない 状態です(泣)。 MySQLからデータを取り出すときに、mb_convert_encodingで文字コードを変換してやれば 化けないでしょうが、出力しようとするデータのすべてを変換しなければなりません。 プログラマーさんたちは、文字化けの現象について、どう対応されているのでしょうか? いちいち、mb_convert_encodingで、変換しているものなのでしょうか? 定石のようなものを知りたいところです。 たとえば、HTML文は文字コード○○を使うものだ、設定ファイルを書き換えておく、などなど。 よろしくおねがいします。

    • ベストアンサー
    • PHP
  • 以下エラーメッセージ解決法は?

    Parse error: syntax error, unexpected T_STRING in /home/パス名/dis_tbl_year.php on line 32  とエラーメッセージが出ます //データベース関連のデータをインクルードします //MySQLに接続します 上記省略 $result = mysql_query($sql); //selectを実行 if ($result == false){ printf("SQL:\"$sql\"の実行に失敗しました。"); exit; } $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><登録年度一覧></H2></CENTER>"); print("<table border=\"1\" align=\"center\">\n"); print("<TR><TH>年度ID</TH><TH>年度</TH></TR>\n"); if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION=\"hensyu_year.php\" METHOD=\"POST\" TARGET=\"right\">"); $data = mysql_fetch_object($result); $year_id = $data->year_id; $year = $data->year; print("<TR>"); print("<TD>$year_id</TD>"); print("<TD>$year</TD>"); print("<INPUT TYPE = \"hidden\" NAME = \"year_id\" VALUE = \"$year_id\">"); print("<TD><INPUT TYPE = \"submit\" NAME = \"hensyu\" VALUE = \"編集\"></TD>"); print("<TD><INPUT TYPE = \"submit\" NAME = \"sakujyo\" VALUE = \"削除\"></TD>"); print("</TR>"); print("</FORM>"); } } mysql_free_result($result); //検索結果の解放 mysql_close($con); //データベースとの接続切断 print("</TABLE>\n"); print("</BR>\n"); print("<CENTER>\n");   print("<a href = \"regist.php\">新規登録</a>"); print("</CENTER>\n"); ?> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • ポーリングとHTMLデータのリロードの方法

    次のことをするcgiを作りたいのですが  1. 起動したらデータを読み込み、その内容を表に表示。(即時)  2. 5秒ごとにデータを読みに行き(ポーリング)、変化があったら表を    リロードして新しいデータの表を表示する。 下記のようにすると、リロードされずに表がいくつも表示されてしまいます。 (リロード処理を入れてないので当たり前なんですが) また、その表示が5秒ごとではなく、かなり長い時間(数十秒?)たってから 1度に数個表示されるというのを繰り返してしまいます。  Q1 リロードさせるには、javascriptを使えばよいのかと思うのですが、    どのようなスクリプトを使えばよいのでしょうか。    また、javascriptでなくても他に方法があれば教えてください。    (Perlのプログラム上では無理でしょうか)  Q2 起動時にまずは最初のデータを表示させたいのですが、sleeを使うと    起動後すぐ表示されないように思いますが、どのようにしたらよい    でしょうか。 なお、下記テストプログラムでは、データを更新して表示する処理は 省いています。 よろしくお願い致します。 ------------------------- $kaisuu = 0; $change = 0; while (1) {   &data;   if($kaisuu == 0 ){     &hyou;     $kaisuu = 1;   }elsif (($kaisuu == 1) && ($change == 1)){     &hyou;   }   sleep 5; } sub data {   #データの読み込み処理   if(データに変化あり){     $change = 1;   } } sub hyou {   print "Content-type: text/html\n";   print "\n";   print "<html>\n";   print "<head>\n";   print "<title>Test</title>\n";   print "</head>\n";   print " <table border=2 frame=border>\n";   print " <tr><td>項目</td>\n";   print " <td>名前</td></tr>\n";   print " <tr><td>1</td>\n";   print " <td>まるまる</td></tr>\n";   print " <tr><td>2</td>\n";   print " <td>ばつばつ</td></tr>\n";   print " </table>\n";   print "</body>\n";   print "</html>\n"; }

    • ベストアンサー
    • Perl
  • PHP下記エラーメッセージ解決法について

    Parse error: syntax error, unexpected T_STRING in /home/**パス名***/kanrisha/dis_tbl_year.php on line 32 と何度修正しても32と出ます。以下飛び先実行プログラム(テーブルの表示)。 <?php /* 登録年度一覧表示 dis_tbl_year.php*/ session_start(); print <<<EOD <HTML> <HEAD> <TITLE>tbl_yearの表示</TITLE> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset="Shift_JIS"> </HEAD> <BODY BGCOLOR="#E6E6FA" text="#000066" link="#A020F0" body alink="#FF00FF" body vlink="#9400D3"> EOD; //データベース関連のデータをインクルード require_once("dbini.php"); //MySQLに接続します $con = mysql_connect($DBSERVER, $DBUSER, $DBPASSWORD); mysql_select_db("○○○"); $sql = "select * from _year order by year_id"; $result = mysql_query($sql); // select を実行 if ($result == false){ printf("SQL:\"$sql\"の実行に失敗しました。"); exit; } $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><登録年度一覧></H2></CENTER>"); print("<table border=\"1\" align=\"center\">\n"); print("<TR><TH>年度ID</TH><TH>年度</TH></TR>\n"); if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION=\>"hensyu_year.php\" METHOD=\"POST\" TARGET=\"right\">"); $data = mysql_fetch_object($result); $year_id = $data->year_id; $year = $data->year; print("<TR>"); print("<TD>$year_id</TD>"); print("<TD>$year</TD>"); 以下部分省略 } } ?> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • PHPでMySQLにデーターを追加するところで壁に当たってしまいました

    PHPでMySQLにデーターを追加するところで壁に当たってしまいました。 PHP5.3&MYSQL5.1 1.フォームへ入力 2.確認画面 3.MySQLへデーター追加 1.form <html> <head><title></title></head> <body> <form method="post" action="conf.php"> <table> <tr><th>番号</th><td><input type="text" name="id" /></td></tr> <tr><th>タイトル</th><td><input type="text" name="title" /></td></tr> <tr><th>テキスト</th><td><textarea name="cont" cols="40" rows="5" /></textarea></tr> <tr><th>日付け</th><td><input type="text" name="update" size="10" /></td></tr> </table> <input type="submit" value="送信" /><input type="reset" value="リセット" /> </form> </body> </html> 2.確認画面 <html> <head><title></title></head> <body> <table> <tr><th>番号</th><td><?php echo htmlspecialchars($_POST["id"]) ?></td></tr> <tr><th>タイトル</th><td><?php echo htmlspecialchars($_POST["title"]) ?></td></tr> <tr><th>テキスト</th><td><?php echo htmlspecialchars($_POST["cont"]) ?></td></tr> <tr><th>日付け</th><td><?php echo htmlspecialchars($_POST["update"]) ?></td></tr> </table> <form method="post" action="upld.php"> <input type="hidden" name="did" value="<?php echo htmlspecialchars($_POST["id"]) ?>" /> <input type="hidden" name="title" value="<?php echo htmlspecialchars($_POST["title"]) ?>" /> <input type="hidden" name="cont" value="<?php echo htmlspecialchars($_POST["cont"]) ?>" /> <input type="hidden" name="update" value="<?php echo htmlspecialchars($_POST["update"]) ?>" /> <input type="submit" value="登録" /> </form> </body> </html> 3.MySQLへデーター追加 <?php $Con = mysql_connect("localhost","root",""); if ($Con == false) {dir ("MySQLの接続に失敗。");} if (!mysql_select_db("phpdata",$Con)) {dir ("データーベース接続に失敗。");} $sql = "insert into daimoku(id,title,cont,update) values('".$_POST["id"]."','".$_POST["title"]."','".$_POST["cont"]."','".$_POST["update"]."')";//SQL文の作成 $res = mysql_query($sql) or die(mysql_error());//クエリの実行 mysql_close($Con);//切断 ?> <html> <head> <title></title> </head> <body> <p>ご登録ありがとうございました。</p> <a href="01.php">戻る</a> </body> 以上のコードでデーターの追加が出来ません。 どなたか教えていただけないでしょうか?

    • ベストアンサー
    • PHP
  • PHP+MySQL で検索結果を横並びに表示させたい

    PHPとMySQLを独学で勉強し始めたところなのですが 下記の様に書いてみたところ 結果(画像)の表示が縦並びになってしまいます。 どうにか横並びに表示できないでしょうか? <html> <head><title>タイトル</title></head> <body> <table> <?php $host = "localhost"; if (!$conn = mysql_connect($host, "ユーザー", "パス")){ die("MySQL接続エラー.<br />"); } mysql_select_db("データベース名", $conn); $sql = "SELECT * FROM 01_table WHERE on ='1'"; $res = mysql_query($sql,$conn); while($row = mysql_fetch_array($res)) { print("<tr>"); print("<td>".$row["img"]); print("</td>"); print("</tr>"); } mysql_free_result($res); ?> </table> </body> </html> ※01_tableのonには「0」か「1」を入れてあり  imgには 「<a href="リンク先アド"><img src="画像のアド"></a>」  を入れてあります。 基礎が無く、勘だけで作ってますので根本的に間違ってるかもしれないのですが よろしくお願いします。

    • ベストアンサー
    • MySQL
  • 以下のエラーメッセージ解決法について

    Parse error: syntax error, unexpected '@' in /home/jouka1/www/kanrisha/dis_tbl_year.php on line 47 というエラーメッセージです。助けて下さい。 <?php /* 登録年度一覧表示 dis_tbl_year.php */ session_start();  一部省略~ //データベース関連のデータをインクルードします //MySQLに接続します $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><登録年度一覧></H2></CENTER>"); print("<table border=\"1\" align=\"center\">\n"); print("<TR><TH>年度ID</TH><TH>年度</TH></TR>\n"); if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION=\"hensyu_year.php\" METHOD=\"POST\" TARGET=\"right\">"); $data = mysql_fetch_object($result); $year_id = $data->year_id; $year = $data->year; print("<TR>"); print("<TD>$year_id</TD>"); print("<TD>$year</TD>"); print("<INPUT TYPE = \"hidden\" NAME = \"year_id\" VALUE = \"$year_id\">"); print("<TD><INPUT TYPE = \"submit\" NAME = \"hensyu\" VALUE = \"編集\"></TD>"); print("<TD><INPUT TYPE = \"submit\" NAME = \"sakujyo\" VALUE = \"削除\"></TD>"); print("</TR>");  print("</FORM>"); //ちなみに47行目はここです } } mysql_free_result($result); // 検索結果の解放 mysql_close($con);    // データベースとの接続切断 print("</TABLE>\n"); print("</BR>\n"); print("<CENTER>\n");   print("<a href = \"regist.php\">新規登録</a>"); print("</CENTER>\n"); ?> </BODY> </HTML>

    • ベストアンサー
    • PHP
  • 以下エラーメッセージ解決法は 

    Parse error: syntax error, unexpected '@' in /home/jouka1/www/kanrisha/dis_tbl_year.php on line 52 というエラーメッセージ。以下プログラム抜粋 //データベース関連のデータをインクルードします //MySQLに接続します $rows = mysql_num_rows($result); //行数を取得 printf("<CENTER><H2><登録年度一覧></H2></CENTER>"); print("<table border=\"1\" align=\"center\">\n"); print("<TR><TH>年度ID</TH><TH>年度</TH></TR>\n"); if ($rows > 0){ for ($j = 0;$j < $rows;$j++) { print("<FORM ACTION=\"hensyu_year.php\" METHOD=\"POST\" TARGET=\"right\">"); $data = mysql_fetch_object($result); $year_id = $data->year_id; $year = $data->year; print("<TR>"); print("<TD>$year_id</TD>"); print("<TD>$year</TD>"); print("<INPUT TYPE = \"hidden\" NAME = \"year_id\" VALUE = \"$year_id\">"); print("<TD><INPUT TYPE = \"submit\" NAME = \"hensyu\" VALUE = \"編集\"></TD>"); print("<TD><INPUT TYPE = \"submit\" NAME = \"sakujyo\" VALUE = \"削除\"></TD>"); print("</TR>"); print("</FORM>"); } } mysql_free_result($result); // 検索結果の解放 mysql_close($con);    // データベースとの接続切断 print("</TABLE>\n"); //ちなみに52行目はここです print("</BR>\n"); print("<CENTER>\n");   print("<a href = \"regist.php\">新規登録</a>"); print("</CENTER>\n"); ?> </BODY> </HTML>

    • ベストアンサー
    • PHP