ソフトはACCESS2000です。
フォームでの入力で、リストボックスから複数選択できるようにしているのですが、そうすると、元のテーブルへ選択したデータが反映されません。
複数選択をしないにすれば、問題なく反映されます。
そもそも、複数選択で、1つのフィールドに反映させることはできないのでしょうか。
いや、そんなことない、できる、なら、どこをどうすれば良いでしょうか。

※お礼は月曜以降になりますが、よろしくお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

できないと思います。


仰っているフォームの入力とは、リストボックスのある値を選んだら、その値がテーブルにセットされるという仕組みだと思いますが、複数選ぶという事はどんな結果を望んでいらっしゃるのでしょうか。ひとつのレコードのひとつのフィールドには当然ひとつの値しかありえない筈です。
    • good
    • 0
この回答へのお礼

まず、お礼が遅くなりすみません。
そうですか。できないんですね。他の方法を考えてみます。
ありがとうございました。

お礼日時:2002/02/18 09:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QACCESS2003のデータアクセスページの使い方について

イントラ内でACCESS2003のデータアクセスページを使いたい。

1.ACCESS2003のデータアクセスページを作成しました。
2.そのMDBファイルと、データアクセスページ(htmファイル)を、WINDOWS2000ServerのInetpub内のwwwrootフォルダの中へ入れました。
3.ここにはイントラ内のHPなどを置いています。(普通に見れています。)
4.クライアントから、データアクセスページのhtmファイルを見に行くと「データソースログオン」が立ち上がります。(パスワードを設定しています。)
5.パスワードを入れるとデータアクセスページ(htm)から、通常のアクセスのフォームのごとくデータ入力が出来る予定なのですが(泣)できません。(泣)

で、悩んでおります。

ACCESS2003のMDBファイルとデータアクセスページ(HTMファイル)をサーバーのwwwrootへ置いただけでは、データアクセスページを通してmdbファイルへの入出力は不可能なのでしょうか?

Aベストアンサー

MDBに接続されたAccessプロジェクトを開いている場合データアクセスページは自動的にそのデータベースに接続されてそのパスがデータアクセスページのConnectionString プロパティに設定されます。
ページを作成した後でデータベースを移動またはコピーした場合はConnectionString プロパティに設定されているパスを更新して新しい保管場所を設定する必要がありますがどうなっていますか?
そこを確認してみてください。

Qファイルメーカーでの複数を選択して一つのフィールドに貼り付けするときのスクリプトの組み方。

ファイルメーカーで複数A,B,Cの3つのフィールドがありこのフィールドが空でなければそれをコピーして「かきくけこ」ファイルのフィールドZに貼り付けをしたいのですが,どのようにスクリプトを組めばよいのでしょうか?
構成
ファイル名     フィールド名
「あいうえお」     A
            B
            C

「かきくけこ」     Z

仮にA,Bが空でなかった場合はAフィールドをコピーしてZフィールドに貼り付け,Zフィールドで検索して検索結果をもう一つのファイルに吐き出してから今度はBフィールドをコピーして・・・(Aと同様の処理)
A,B,Cのどれか一つに入力されている場合はstatus(エラー)=400を使って出来たのですがよく考えるとこの方法では複数入力されたりしていると出来ないので途方にくれています。どなたか教えてください。
構成は Win2000 FMP5.5です。よろしくお願いします。

Aベストアンサー

「かきくけこ」にスクリプト新規に作る。
(1)検索モードに切り替え[]
(2)貼り付け [選択「Z」]
(3)検索実行[]
(4)If[Status(レコード数)=1]
(5)対象レコード削除
(6)End If
(7)新規レコード/検索条件
(8)貼り付け [選択「Z」]
(9)開く[「あいうえお」]


「あいうえお」にスクリプトを作る。
(1)If[A=””]
(2)Else
(3)コピー[選択「A」]
(4)スクリプト実行[サブスクリプト外部「かきくけこ」](先ほど作ったスクリプト)
(5)End If
(1)If[B=””]
(2)Else
(3)コピー[選択「B」]
(4)スクリプト実行[サブスクリプト外部「かきくけこ」](先ほど作ったスクリプト)
(5)End If
(1)If[C=””]
(2)Else
(3)コピー[選択「C」]
(4)スクリプト実行[サブスクリプト外部「かきくけこ」](先ほど作ったスクリプト)
(5)End If


で、どうでしょ。

Qホームページ移転に伴う.htaccessの使い方ですがアップロードして

ホームページ移転に伴う.htaccessの使い方ですがアップロードして削除できなくなる事ないですか??また、さくらサーバーは.htaccess使えますか??

Aベストアンサー

.htaccessだけではなく、
ファイルはパーミッションによっては一旦削除できなくなると思いますよ・・・
使えないのにアップすると削除出来ないとか。

>さくらサーバーは.htaccess使えますか??
使えます。
.htaccessを使えない有料サーバってあるのでしょうか?・・・

Q【ACCESS2000】1フィールドを複数フィールドに分解する手段

1フィールド に 設定されている webアドレスを カウントする仕組みを作成しております。
HPのアドレスの上位 「  /*****/ 」ごとにカウントする仕様です。

これらを考慮するため、
 アドレスを「/」ごとに1フィールドを複数フィールドに分解することを実装し
カウントすればよいかという案です。


イメージ図として


フィールドには 以下のようにセットされております。
<<アドレス1>>
*====================
/aaa/vvv/ccc
/aaa/bbb/
/ababababa/bbbfb/
/ababababa/bbbfb/




これらを 
 <<アドレス1>> ・<<アドレス2>>
*==============*============
/aaa       */vvv/ccc
/aaa       */bbb/
/ababababa   */bbbfb/
/ababababa   */bbbfb/



の、イメージに細分できるようにしたく思います。
クエリでの実装がよいかとおもうのですが
手段を伝授いただきたく思います。

よろしくお願いします

1フィールド に 設定されている webアドレスを カウントする仕組みを作成しております。
HPのアドレスの上位 「  /*****/ 」ごとにカウントする仕様です。

これらを考慮するため、
 アドレスを「/」ごとに1フィールドを複数フィールドに分解することを実装し
カウントすればよいかという案です。


イメージ図として


フィールドには 以下のようにセットされております。
<<アドレス1>>
*====================
/aaa/vvv/ccc
/aaa/bbb/
/ababababa/bbbfb/
/ababababa/bbbfb...続きを読む

Aベストアンサー

t1テーブルのf1フィールドに
/aaa/vvv/ccc
/aaa/bbb/
/ababababa/bbbfb/
/ababababa/bbbfb/
と入っていた場合、以下のクエリ
SELECT Mid(f1,1,InStr(2,f1,"/")-1) AS c1, Mid(f1,InStr(2,f1,"/"),Len(f1)) AS c2
FROM t1;
を実行すると
c1        *c2
--------------
/aaa       */vvv/ccc
/aaa       */bbb/
/ababababa   */bbbfb/
/ababababa   */bbbfb/
が得られます。

QAccessで作成したテーブルのOLEオブジェクトの使い方

Accessで作成したテーブルにデータ型(OLEオブジェクト型)で画像を取り込みできるようにしました。
取り込みした画像を開くためのフォームを作成して画像を開けるようにしました。
下記の内容です。

Private Sub Form_Open(Cancel As Integer)
Form.Caption = ProgName
End Sub

しかし「ビットマップ形式」ですと問題なく開くのですが、「JPG形式」ですと開けないのです。取り込みしたAccessテーブルのフィールドから直接だとひらけます。
Accessで作成したフォームから、「JPG形式」の画像を開くにはどうすればよろしいですか?
また、画像を1000件ほど取り込みすると大きいデータベースになってしまいます。Accessのデータベースのサイズは制限があるのかしら?
アドバイスいただけれは幸いです。

Aベストアンサー

Access のバージョンは?
んで Web で検索する努力はしましょうよ。
丸 1日ぐらい検索しっぱなしで悩まないと。

Google「access ole jpeg」で検索
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=access+ole+jpeg&num=50

Access 2003 では以下のような制限があるようです。
■ Access 2003 で OLE オブジェクトとして JPEG および GIF 画像を取り扱う場合の注意事項
http://support.microsoft.com/kb/884484/ja

■ OLE オブジェクト型のフィールドに格納されているイメージが正しく表示されません
http://support.microsoft.com/kb/832508/ja

解決策としては JPEG を開ける OLE コンテナになるアプリケーションをインストールしておく。

Google「Access データベース サイズ 制限」で検索
http://www.google.com/search?hl=ja&num=50&q=Access+%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9+%E3%82%B5%E3%82%A4%E3%82%BA+%E5%88%B6%E9%99%90&lr=lang_ja

Access のバージョンは?
んで Web で検索する努力はしましょうよ。
丸 1日ぐらい検索しっぱなしで悩まないと。

Google「access ole jpeg」で検索
http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=access+ole+jpeg&num=50

Access 2003 では以下のような制限があるようです。
■ Access 2003 で OLE オブジェクトとして JPEG および GIF 画像を取り扱う場合の注意事項
http://support.microsoft.com/kb/884484/ja

■ OLE オブジェクト型のフィールドに格納されているイメージが正...続きを読む

Qアクセス 選択クエリの複数条件選択

アクセス初心者です。
受講生マスタと受講データから選択クエリで以下の条件を抽出したいのですが、パラメーターが働きません。
フィールドは、氏名・媒体・入学年月日・パックコースの4つで、入学年月日をにパラメーターを設定して、かつパックコースの番号が「0」と「1」の人を抽出するよう設定したのですが、パラメーターに範囲を入力してもすべてのデータがでてきてしまいます。
SQL文は下記のようになっていました。

SELECT 受講生マスタ.氏名, 受講生マスタ.媒体, 受講データ.入学年月日, 受講データ.パックコース
FROM 受講生マスタ INNER JOIN 受講データ ON 受講生マスタ.受講No = 受講データ.受講No
WHERE (((受講データ.入学年月日) Between [いつから] And [いつまで]) AND ((受講データ.パックコース)=0)) OR (((受講データ.パックコース)=1));

入学年月日のパラメータとパックコースの番号の抽出条件を同時に設定することはできないのでしょうか?ご教授いただければ幸いです。

アクセス初心者です。
受講生マスタと受講データから選択クエリで以下の条件を抽出したいのですが、パラメーターが働きません。
フィールドは、氏名・媒体・入学年月日・パックコースの4つで、入学年月日をにパラメーターを設定して、かつパックコースの番号が「0」と「1」の人を抽出するよう設定したのですが、パラメーターに範囲を入力してもすべてのデータがでてきてしまいます。
SQL文は下記のようになっていました。

SELECT 受講生マスタ.氏名, 受講生マスタ.媒体, 受講データ.入学年月日, 受講データ....続きを読む

Aベストアンサー

>抽出条件は1行ごとに記述しなくてはいけないのですね。

ちなみに、こう書くと、1行で書けます。

 入学年月日の抽出条件________パックコースの抽出条件

 Between [いつから] And [いつまで]__0 OR 1


簡単に説明すると、抽出条件の処理としては、

1:同じ行の条件を AND で結合します。
2:各行の条件を OR で結合します。

例えば下記のように書くと、

 入学年月日___パックコース
 条件A_____条件B
 ________条件C

1行目の条件 条件A AND 条件B
2行目の条件 条件C

合わせて (条件A AND 条件B) OR (条件C)

このようになり、条件Cを満たせば、条件Aは無視されます。

QAccess2000でFTPの使い方について。

Access2000のフォームから、実行のボタンをクリックするとFTPサーバに接続→ファイル取得→Accessテーブルに取込→FTPサーバのファイル削除→FTPサーバの接続切断という処理をしたいのですがどのようにしたらよいかわかりません。説明不足だとは思いますが、アドバイスを宜しくお願い致します。

Aベストアンサー

ちなみに先ほどのFTPサンプルは、BASP21をインストール後、サンプルのコードを新規モジュールに貼り付けて(たとえば以下をまるごと)実行すればAccessでもそのまま動きます。

sub file_download()

Dim ftp As Object, rc As Long, v As Variant, v2 As Variant
Dim ctr As Long

Set ftp = CreateObject("basp21.FTP")
ftp.OpenLog "c:\temp\log.txt"
rc = ftp.Connect("ftp.microsoft.com", "anonymous", "")
If rc = 0 Then
v = ftp.GetDir("bussys/winnt/winnt-public", 2) ' ディレクトリ一覧(詳細)
If IsArray(v) Then
For Each v2 In v
Debug.Print v2
Next
End If
v = ftp.GetDir("bussys/winnt/winnt-public") ' ディレクトリ一覧(ファイル名のみ)
If IsArray(v) Then
For Each v2 In v
Debug.Print v2
Next
End If
rc = ftp.GetFile("bussys/winnt/winnt-public/*", "c:\temp") 'ファイル受信

end sub

実行には20秒ほどかかります。
実行前にはCドライブにtempというフォルダを作っておいてください。

ちなみに先ほどのFTPサンプルは、BASP21をインストール後、サンプルのコードを新規モジュールに貼り付けて(たとえば以下をまるごと)実行すればAccessでもそのまま動きます。

sub file_download()

Dim ftp As Object, rc As Long, v As Variant, v2 As Variant
Dim ctr As Long

Set ftp = CreateObject("basp21.FTP")
ftp.OpenLog "c:\temp\log.txt"
rc = ftp.Connect("ftp.microsoft.com", "anonymous", "")
If rc = 0 Then
v = ftp.GetDir("bussys/winnt/winnt-public", 2) ' ディレクトリ一...続きを読む

QACCESSにてフィールド間の平均(空白除く)と空白の個数を反映するためのモジュール

ACCESS初心者です。

図のようなテーブルがあります。
このテーブルの右側にクエリで「各商品の平均値(空白セルは省く)」
ならびに「空白セルの個数」を反映したいと思っております。

過去に質問をさせていただいた案件(https://oshiete.goo.ne.jp/qa/9327298.html)の内容と類似することから、
恐らくモジュールならびにクエリ式を合わせ技にて両値を反映することになるかと想定しているのですが、調べてもなかなか当案件に類似した内容の記載を見出すことができません。

モジュール・クエリ両内容をどなたかご提案いただけないでしょうか?

何卒よろしくお願いいたします。

Aベストアンサー

図示されたようなテーブル設計はよくありません。
もしかしてクロス集計クエリから作成したテーブル?
それとも、他からインポートしたデータ?
欠点は、
日にち分のフィールドが必要、
月が替わると再度テーブルを作り直す必要がある、
かといって年間(365日)分だけ作るのも不可。フィールド数は最大でも255まで。
集計などの分析が困難など後々泥沼に。。。
http://www.accessdbstudy.net/entry/20140915/p1

商品名 日付    価格
イチゴ 2016/07/01 200
イチゴ 2016/07/03 400
イチゴ 2016/07/04 400
バナナ 2016/07/02 100
バナナ 2016/07/03 150
メロン 2016/07/01 200
メロン 2016/07/02 150
メロン 2016/07/03 100
メロン 2016/07/04 120
メロン 2016/08/01 200

のようなデザインであればクロス集計で、
テーブル名をT1とするとSQL文は、

TRANSFORM First(T1.価格) AS 価格の先頭
SELECT T1.商品名,
(DMax("日付","T1","日付 Between #2016/7/1# And #2016/7/31#")-DMin("日付","T1","日付 Between #2016/7/1# And #2016/7/31#")+1)- DCount("日付","T1","日付 Between #2016/7/1# And #2016/7/31# and 商品名='" & 商品名 & "'") AS 売切回数,
Int(Avg(T1.[価格])+0.5) AS 平均価格,
Max(T1.価格) AS 最大価格
FROM T1
WHERE T1.日付 Between #2016/7/1# And #2016/7/31#
GROUP BY T1.商品名
PIVOT Format(T1.日付,"mm/dd");

 で、
商品名 売切回数 平均価格 最大価格 07/01 07/02 07/03 07/04
イチゴ   1     333   400  200      400  400
バナナ   2     125   150      100  150
メロン   0     143   200  200   150  100  120
のようになります。
新規クエリをSQLビューに切り替えて上記のSQL文を貼り付けてみてください。
平均価格は四捨五入しています。
デザインビューに切り替えられますので確認してみてください。
売切回数を求める部分の出来が良くありません。
レコード数次第では遅くて使い物にならないかも?ご参考まで。

図示されたようなテーブル設計はよくありません。
もしかしてクロス集計クエリから作成したテーブル?
それとも、他からインポートしたデータ?
欠点は、
日にち分のフィールドが必要、
月が替わると再度テーブルを作り直す必要がある、
かといって年間(365日)分だけ作るのも不可。フィールド数は最大でも255まで。
集計などの分析が困難など後々泥沼に。。。
http://www.accessdbstudy.net/entry/20140915/p1

商品名 日付    価格
イチゴ 2016/07/01 200
イチゴ 2016/07/03 400
イチゴ 2016/07/04 4...続きを読む

QRuby on Rails 「attr_accessor」 の使い方に

Ruby on Rails 「attr_accessor」 の使い方について

こんにちは。

現在、Ruby on Railsで登録画面を作成しているのですが、attr_accessorで定義した項目に対して、validationのチェックを行うと、問題が起きてしまいました。

attr_accessorで定義した項目は、DB登録の対象ではないのですが、lengthのチェック等を行う必要があり、validates_length_of等を使って入力チェックを行っています。

問題になったのは、入力があったときだけチェックをかけたいのに、入力がなくてもチェックがかかってしまうという状態になってしまうことです。
「:if => 項目?」を書いてみると、「undefined method」のエラーがでてしまいます。

どなたか対応策の分かる方がおられましたらご教授いただけないでしょうか?

下記に実際の問題箇所のモデルクラスのソースを書いておきます。

 class User < ActiveRecord::Base

   attr_accessor :NEW_USER_PW ← 追加したアクセサ

   # 追加したアクセサに対するチェック
   validates_length_of :NEW_USER_PW, :minimum=>4, :message=>"は%d桁以上を設定してくださ            
    い。", :on => :update, :if => :NEW_USER_PW?

 end

上記のチェック内の「:if => :NEW_USER_PW?」で落ちてしまいます。
入力がないのにチェックに引っかかるとまずいので、入力がないときだけ上記チェックを行えれば良いのですが・・・。

どうぞ宜しくお願い致します。

Ruby on Rails 「attr_accessor」 の使い方について

こんにちは。

現在、Ruby on Railsで登録画面を作成しているのですが、attr_accessorで定義した項目に対して、validationのチェックを行うと、問題が起きてしまいました。

attr_accessorで定義した項目は、DB登録の対象ではないのですが、lengthのチェック等を行う必要があり、validates_length_of等を使って入力チェックを行っています。

問題になったのは、入力があったときだけチェックをかけたいのに、入力がなくてもチェックがかかってしまうという状...続きを読む

Aベストアンサー

attr_accessor :NEW_USER_PWを定義したからといって、
NEW_USER_PW?メソッドが定義されるわけではりません。
attr_accessorはゲッターとセッターメソッドを作るだけです。
それ以外の論理値を返すようなメソッドは自作しなければなりません。

NEW_USER_PW?メソッドを作成されていないのなら、「undefined method」が
出てしまうのは当然です。

質問にあるように、「入力があった場合のみ」とありますので、
NEW_USER_PW?メソッドを下記のように実装すればチェック可能です。

def NEW_USER_PW?
@NEW_USER_PW.size > 0
end

また、ifにはprocオブジェクトを渡すこともできますので、
:if => Proc.new{|u| u.NEW_USER_PW.size > 0}
と書いてもいいでしょう。


NEW_USER_PWというインスタンス変数はすべて大文字を使用されていますが、
見る人によっては定数と勘違いします。
変数であれば小文字表記を利用するほうが良いかもしれません。

attr_accessor :NEW_USER_PWを定義したからといって、
NEW_USER_PW?メソッドが定義されるわけではりません。
attr_accessorはゲッターとセッターメソッドを作るだけです。
それ以外の論理値を返すようなメソッドは自作しなければなりません。

NEW_USER_PW?メソッドを作成されていないのなら、「undefined method」が
出てしまうのは当然です。

質問にあるように、「入力があった場合のみ」とありますので、
NEW_USER_PW?メソッドを下記のように実装すればチェック可能です。

def NEW_USER_PW?
@NEW_USER_PW.s...続きを読む

Qファイルメーカー複数フィールドのコピー&ペースト

ファイルメーカPro8で複数のフィールド項目をコピーし別のテーブルを新規作成し、ひとつのテキストフィールドにペーストするスクリプト方法を教えてください。1つなら可能何ですが、・・・。

Aベストアンサー

ファイルメーカPro6までしか、使っていませんが、
スクリプトで、フィールド設定を使用しては、如何ですか?
まずは、フィールド定義で、一時作業用のグローバルフィールドをテキストタイプで新規に作成しておきます。
次に、スクリプトで、フィールド設定を使用します。
フィールド設定の指定フィールドを先ほど作った、グローバルフィールドにする。
(内容)指定としては、計算式で、コピペしたい複数のフィールドを & で繋げた物を指定します。

その次のステップとして、新規レコード作成

更に、もう一度、フィールド設定を使用します。
フィールド設定の指定フィールドをペーストしたいテキストフィールドにする。
(内容)指定としては、グローバルフィールド を指定する。

これでいけます。


人気Q&Aランキング

おすすめ情報