Microsoft Access Club Access超初心者対象Forum Access初級者対象Forum Access初・中級者対象Forum Access VBA Tips Forum DAO、ADO、SQL Forum

     

リストへもどる

新着の投稿記事


タイトルRe: 帳票フォームでコンポボックスを使いたい(その結果もDBに反映したい)
記事No171994   [関連記事]
投稿日: 2017/08/18(Fri) 15:06
投稿者ノーマッド
> OS:Win8.1
> Access Version:access2013
>
> 以前、お世話になりました。
> 以前のシステムは完成しました。
> ありがとうございました。
>
> また、別件で質問がございます。
> 帳票フォームがありますが、帳票フォームで表示されるDBデータをコンポボックスで制御は可能でしょうか。
> 具体的には
>
> ID 登録日 シリアルナンバー ステータス コメント のうち
>
> ステータスをコンポボックスにして、一覧から選べるようにしたいです。
> 選択結果はDBに反映するようにしたいのですが、可能でしょうか。
> よろしくお願いします。
>
> DBの持たせ方は、
>
> ・在庫テーブル
>  ID 登録日 シリアルナンバー ステータスのフラグ コメント
> ・ステータステーブル
>  ステータスのフラグ ステータス
>
> クエリで
> ID 登録日 シリアルナンバー ステータス(在庫テーブル) コメント
> にするようにしています。
>
> よろしくお願いします。

追記、プルダウンメニューまでは出たのですが、そこから変更をすると、ステータステーブルが書き換わって今います。

メニューの出し方。
・ステータステーブル
 ステータスのフラグ ステータス

よろしくお願いします。

タイトル帳票フォームでコンポボックスを使いたい(その結果もDBに反映したい)
記事No171993   [関連記事]
投稿日: 2017/08/18(Fri) 14:50
投稿者ノーマッド
OS:Win8.1
Access Version:access2013

以前、お世話になりました。
以前のシステムは完成しました。
ありがとうございました。

また、別件で質問がございます。
帳票フォームがありますが、帳票フォームで表示されるDBデータをコンポボックスで制御は可能でしょうか。
具体的には

ID 登録日 シリアルナンバー ステータス コメント のうち

ステータスをコンポボックスにして、一覧から選べるようにしたいです。
選択結果はDBに反映するようにしたいのですが、可能でしょうか。
よろしくお願いします。

DBの持たせ方は、

・在庫テーブル
 ID 登録日 シリアルナンバー ステータスのフラグ コメント
・ステータステーブル
 ステータスのフラグ ステータス

クエリで
ID 登録日 シリアルナンバー ステータス(在庫テーブル) コメント
にするようにしています。

よろしくお願いします。

タイトルRe: 列名を取得するSQL データを上からの番号で指定する方法
記事No171992   [関連記事]
投稿日: 2017/08/17(Thu) 09:25
投稿者ナバ
こんにちは。

> 質問1
> SQLにてTableAAを指定して、列名である "City","Population","Earning" を取り出したいのですがSQLを教えていただけないでしょうか。

SELECT City,Population,Earning FROM TableAA

です。

> 質問2
> この表のデータの上から2番目〜4番目(Denver,Seattle,London)のCity,Population,Earningの情報を出力したいのですが、このように単純に上からの番号で指定する方法を教えていただけないでしょうか。
> Indexは無く、単に登録順で入っています。

インデックスがなければ、どの順番で出力されるか不定、つまりどういう順序で
出力されるかは何の保証もありませんので、「上から何番目」という指定をしても
毎回同じレコードが取り出されるかはわからないのです。

登録順としたければ、オートナンバー型のフィールドを追加するなり、
登録日時を保存するフィールドを追加するなりし、
そのフィールドで並べ替えたうえでの話です。

タイトルRe^5: Accessの抽出条件で関数を用いた時の実行スピード
記事No171991   [関連記事]
投稿日: 2017/08/16(Wed) 03:15
投稿者hatena
解決済: ON
> 今自宅なのでOracleではないのですが、イメージとしてはこんな形ではないかと思っているのですが、間違いでしょうか。問題はこの備考フィールドにはセイヒンという言葉だけでなく違う文字もセイヒンという文字と共に追加されてきます。そうすると以下のSELECT文ではだめだということになると思いますので、すると2つの抽出条件は変わらずということになるのではないかと思います。

部分一致の条件ということですか。
だとしたら、どの方法もつかってもインデックスは無効です。
あいまい条件でインデックスが有効なのは、前方一致のみです。

> 1つの場合
> SELECT T_TEST.製品コード, T_TEST.製品名, T_TEST.備考
> FROM T_TEST
> WHERE ((StrConv([備考],4)="セイヒン"));

これは部分一致ではないですね。
完全一致です。しかも、フィールドが関数内ですので、インデックスも無効です。

WHERE 備考="セイヒン" OR 備考="セイヒン";

というようにすればインデックスは有効です。

2つの場合
> SELECT T_TEST.製品コード, T_TEST.製品名, T_TEST.備考
> FROM T_TEST
> WHERE (((T_TEST.備考) Like "*セイヒン*")) OR (((T_TEST.備考) Like "*セイヒン*")); 

Likeの部分一致ですので、インデックスは無効です。

タイトル列名を取得するSQL データを上からの番号で指定する方法
記事No171990   [関連記事]
投稿日: 2017/08/15(Tue) 16:16
投稿者yamamotoy
OS:Windows 7 sp1
Access Version:2010

外部のソフトからSQLにてアクセスのデータを取得を勉強しています

ファイル MyAccess.mdbにTableAAがあります。
TableAAに下記のデータが入っています。

City,Population,Earning
Chicago,3000,40
Denver, 2000,30
Seattle,1000,20
London,4000,70
Tokyo,6000,90

質問1
SQLにてTableAAを指定して、列名である "City","Population","Earning" を取り出したいのですがSQLを教えていただけないでしょうか。

質問2
この表のデータの上から2番目〜4番目(Denver,Seattle,London)のCity,Population,Earningの情報を出力したいのですが、このように単純に上からの番号で指定する方法を教えていただけないでしょうか。
Indexは無く、単に登録順で入っています。

タイトルRe^2: クロス集計
記事No171989   [関連記事]
投稿日: 2017/08/15(Tue) 16:07
投稿者yamamotoy
解決済: ON
ありがとうございます

> クエリを3つ作ります。
> 1.クエリ1
> TRANSFORM Sum(売上) AS F1
> SELECT 日付
> FROM 管理票
> GROUP BY 日付
> PIVOT [地域] & "売上";
>
> 2.クエリ2
> TRANSFORM Sum(仕入) AS F1
> SELECT 日付
> FROM 管理票
> GROUP BY 日付
> PIVOT [地域] & "仕入";
>
> 3.クエリ3
> SELECT Q1.日付,
> Q1.AA売上,
> Q2.AA仕入,
> Q1.BB売上,
> Q2.BB仕入,
> Q1.CC売上,
> Q2.CC仕入
> FROM クエリ1 AS Q1 INNER JOIN クエリ2 AS Q2
> ON Q1.日付 = Q2.日付;

タイトルRe^4: Accessの抽出条件で関数を用いた時の実行スピード
記事No171988   [関連記事]
投稿日: 2017/08/14(Mon) 12:59
投稿者チャコール
解決済: ON
> ORACLEに接続しているのですね。
>
> > 関数の中にフィールドを入れると遅くなるということで、フィールドを関数で全角にせず、抽出条件時のみにstrConv関数を使い抽出すれば、抽出条件が1つとなりますが、この方がインデックスが使えて早いということでよろしいでしょうか。
>
> 「抽出条件時のみにstrConv関数を使い抽出すれば、抽出条件が1つとなります」というのが具体的にどのような設定なのか分かりません。
> 想定している条件式(WHERE句)を提示してもらえますか。
今自宅なのでOracleではないのですが、イメージとしてはこんな形ではないかと思っているのですが、間違いでしょうか。問題はこの備考フィールドにはセイヒンという言葉だけでなく違う文字もセイヒンという文字と共に追加されてきます。そうすると以下のSELECT文ではだめだということになると思いますので、すると2つの抽出条件は変わらずということになるのではないかと思います。
1つの場合
SELECT T_TEST.製品コード, T_TEST.製品名, T_TEST.備考
FROM T_TEST
WHERE ((StrConv([備考],4)="セイヒン"));
2つの場合
SELECT T_TEST.製品コード, T_TEST.製品名, T_TEST.備考
FROM T_TEST
WHERE (((T_TEST.備考) Like "*セイヒン*")) OR (((T_TEST.備考) Like "*セイヒン*")); 
上記2つの場合の抽出条件のいずれかのセイヒンは半角です。このフォームは半角を全角に変えてしまうのですね。
>
>
> > また、一点申し上げるのを忘れていました。ODBC経由でORACLEのテーブルの2つに接続しております。それをAccessのクエリで2つのテーブルを結合し抽出条件を設定しておりました。Accessだと半角全角が関係ないことを教えていただいた後に確認しました。
> > 当方では.NETなどのインターフェイスからその項目について全角で入力はできるものの、なぜか半角で入力するルールになっているのにもかかわらず全角で入力してくるユーザがいるため、前回何度かうまく抽出できず、現在、2つの抽出条件を設定しております。
>
> オラクルでは全角半角を区別するのですね。
> なら、2つの抽出条件を設定するのでいいと思います。
>
> それ以前に、速度を重視するなら、パススルークエリにしたほうがいいでしょう。
>
> ODBC経由のテーブルでクエリを作成すると、すべてのデータをアクセスに読み込んでから、アクセス側で抽出処理等をすることになります。
> パススルークエリは、オラクルの方でSQL処理をして、結果だけをアクセスに送りますので、高速になります。(ただし更新はできません。)
>
> あと、.NETなどのインターフェイスで入力させているなら、全角で入力したら、入力後に半角に変換するような処理を実装しておくのが普通だと思います。

パススルークエリですね。わかりました。挑戦してみます。

なお、.NETですが、パッケージ製品なのでカスタマイズがそこまで及んでいないらしく、全角入力できるのにもかかわらず検索機能を使うには半角文字でないとダメだということで半角にできるものは半角で入力するというルールになっているということを聞きました。とても変わった運用と仕様になっているんだなと思っております。私も半角に変換するような処理が必要かと思いますが、今の時代どこのシステムも全角で入力できるようになってますから、ハードディスクも安くなりましたし、データベースの性能も向上していますので、全角で入力しても問題のない仕様に変更する提案をしたいと思います。その方が既存ユーザや新たなユーザが普通に使えて楽になると思っています。

いろいろ教えていただきありがとうございました。本件解決です。

タイトルRe^3: Accessの抽出条件で関数を用いた時の実行スピード
記事No171987   [関連記事]
投稿日: 2017/08/14(Mon) 12:40
投稿者hatena
解決済: ON
ORACLEに接続しているのですね。

> 関数の中にフィールドを入れると遅くなるということで、フィールドを関数で全角にせず、抽出条件時のみにstrConv関数を使い抽出すれば、抽出条件が1つとなりますが、この方がインデックスが使えて早いということでよろしいでしょうか。

「抽出条件時のみにstrConv関数を使い抽出すれば、抽出条件が1つとなります」というのが具体的にどのような設定なのか分かりません。
想定している条件式(WHERE句)を提示してもらえますか。


> また、一点申し上げるのを忘れていました。ODBC経由でORACLEのテーブルの2つに接続しております。それをAccessのクエリで2つのテーブルを結合し抽出条件を設定しておりました。Accessだと半角全角が関係ないことを教えていただいた後に確認しました。
> 当方では.NETなどのインターフェイスからその項目について全角で入力はできるものの、なぜか半角で入力するルールになっているのにもかかわらず全角で入力してくるユーザがいるため、前回何度かうまく抽出できず、現在、2つの抽出条件を設定しております。

オラクルでは全角半角を区別するのですね。
なら、2つの抽出条件を設定するのでいいと思います。

それ以前に、速度を重視するなら、パススルークエリにしたほうがいいでしょう。

ODBC経由のテーブルでクエリを作成すると、すべてのデータをアクセスに読み込んでから、アクセス側で抽出処理等をすることになります。
パススルークエリは、オラクルの方でSQL処理をして、結果だけをアクセスに送りますので、高速になります。(ただし更新はできません。)

あと、.NETなどのインターフェイスで入力させているなら、全角で入力したら、入力後に半角に変換するような処理を実装しておくのが普通だと思います。

タイトルRe^2: Accessの抽出条件で関数を用いた時の実行スピード
記事No171986   [関連記事]
投稿日: 2017/08/13(Sun) 21:08
投稿者チャコール
解決済: ON
> > 以下のいずれが早いのでしょうか?
> > 1. テーブルのとカラムAに「テスト」が登録されている場合と「テスト」が登録されている場合があり、これを2つの抽出条件を使って抽出する場合
> > 2. strConv([カラムA],4)で変換した結果を「テスト」というキーワードで抽出する場合
> >
> > 2つのテーブルを1つのキーで結合し、カラムAにはインデックスをつけています。 件数は2万件程度です。
>
> 片方の「テスト」は半角ということですね。(投稿時に動で全角に変換されたのかな?)
>
> 関数の中にフィールドを入れてしまうと、インデックスは使用できませんので、遅くなります。
>
> ちなみに、クエリでは、全角と半角は区別されませんので、条件は全角の(あるいは半角の)「テスト」だけでも、
> 全角と半角の両方が抽出されます。

hatenaさん ご回答ありがとうございます。

関数の中にフィールドを入れると遅くなるということで、フィールドを関数で全角にせず、抽出条件時のみにstrConv関数を使い抽出すれば、抽出条件が1つとなりますが、この方がインデックスが使えて早いということでよろしいでしょうか。

また、一点申し上げるのを忘れていました。ODBC経由でORACLEのテーブルの2つに接続しております。それをAccessのクエリで2つのテーブルを結合し抽出条件を設定しておりました。Accessだと半角全角が関係ないことを教えていただいた後に確認しました。
当方では.NETなどのインターフェイスからその項目について全角で入力はできるものの、なぜか半角で入力するルールになっているのにもかかわらず全角で入力してくるユーザがいるため、前回何度かうまく抽出できず、現在、2つの抽出条件を設定しております。

タイトルRe: Accessの抽出条件で関数を用いた時の実行スピード
記事No171985   [関連記事]
投稿日: 2017/08/13(Sun) 14:53
投稿者hatena
解決済: ON
> 以下のいずれが早いのでしょうか?
> 1. テーブルのとカラムAに「テスト」が登録されている場合と「テスト」が登録されている場合があり、これを2つの抽出条件を使って抽出する場合
> 2. strConv([カラムA],4)で変換した結果を「テスト」というキーワードで抽出する場合
> 
> 2つのテーブルを1つのキーで結合し、カラムAにはインデックスをつけています。 件数は2万件程度です。

片方の「テスト」は半角ということですね。(投稿時に動で全角に変換されたのかな?)

関数の中にフィールドを入れてしまうと、インデックスは使用できませんので、遅くなります。

ちなみに、クエリでは、全角と半角は区別されませんので、条件は全角の(あるいは半角の)「テスト」だけでも、
全角と半角の両方が抽出されます。

タイトルAccessの抽出条件で関数を用いた時の実行スピード
記事No171984   [関連記事]
投稿日: 2017/08/12(Sat) 22:58
投稿者チャコール
解決済: ON
OS:Windows 10
Access Version: Access 2016

以下のいずれが早いのでしょうか?
1. テーブルのとカラムAに「テスト」が登録されている場合と「テスト」が登録されている場合があり、これを2つの抽出条件を使って抽出する場合
2. strConv([カラムA],4)で変換した結果を「テスト」というキーワードで抽出する場合

2つのテーブルを1つのキーで結合し、カラムAにはインデックスをつけています。 件数は2万件程度です。

あまり変わりがないかもしれませんがご存知の方教えていただけないでしょうか

タイトルRe: 住所入力支援について
記事No171983   [関連記事]
投稿日: 2017/08/12(Sat) 14:37
投稿者hatena
Officeの自動更新で持ち込まれたバグのようです。
下記を参照。

クイック実行形式の Access 2016 上で住所入力支援機能が動作しない – Office Support Team Blog JAPAN
https://blog.technet.microsoft.com/officesupportjp/2017/04/28/access2016c2rpostaladdress/


対策版がでるまでは、
以前のバージョンに戻して、自動更新をオフにすることになるようです。

タイトルRe: 住所入力支援について
記事No171982   [関連記事]
投稿日: 2017/08/11(Fri) 01:06
投稿者Moko
これでしょうか?

Excel2016で郵便番号検索ウィザードで変換ができない
https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_winother/excel2016%E3%81%A7%E9%83%B5%E4%BE%BF%E7%95%AA/80b0cf8a-e60b-4896-a372-4a490f6e39f0?auth=1

タイトルシュプリーム 偽物 通販
記事No171981   [関連記事]
投稿日: 2017/08/10(Thu) 18:18
投稿者シュプリーム 偽物 通販

綿100%素材なのでやわらかでさらっとした肌触りコピーブランド 代引きTシャツです。いつものサイズでゆるっと可愛く、ワンサイズ下でタイト目に着て頂いてもOK!シュプリーム 偽物 通販 http://lsqzy.com/?brand-130.html お家でお洗濯可能なため、汗や汚れを気にせず着用できちゃいます!ほどよくストレッチ性もありますのでノンストレスな着心地。一枚で着ても、重ね着しても着まわせちゃう!http://lsqzy.com/コピーブランド 通販

タイトルRe: スーパーコピー時計専売店NO.1
記事No171980   [関連記事]
投稿日: 2017/08/01(Tue) 20:03
投稿者taigao
> スーパーコピー時計,スーパーコピー専売店NO.1!【新品&人気&特価】 ロレックスの文字盤の6時の地位は更にまばゆい宝石で引き立たせて、ロレックスの色鮮やかで美しいのを極致に向かいます。
> http://www.keepgoing365.com/
> http://www.keepgoing365.com/tokei/b1/

当店は最高品質Nランクのロレックススーパーコピー時計を取扱っています。ロレックス コピー等は全国送料無料、納期は1週間で、品質は2年無料保証になります。
ikebukuro777.com/goods/kind_1_1.html

ページの先頭へ 前ページへ戻る