関数についてどなたか教示お願いします。至急お願いお願いします。ACCESSのint関数、fix関数について。Exel関数について、ご教授お願いします。回答数ランキングです。Cと表記させるフィールド「Y」を追加したいと考えています。この場合、Yのフィールド設定で指定する数式についてご教授願います。IIf(100<[X]<=150,"C","")としましたが、実行すると、Yの列がすべて「-1」と表記されてしまいます。Aベストアンサーa)IIF関数で対応する場合:IIF関数の第2引数または第3引数に、IIF関数を入れ子とする必要があります。""))))b)別の組込関数を使用する場合:IIF関数は二択ですので入れ子にする必要がありますが、Accessのクエリで使用できる、似た機能の関数に、Switch関数というものもあります。これであれば、入れ子にする必要がなくなります。"")なお、数学あるいは一般生活では確かに「0<[X]<=50」という表記をしますが、Accessの関数などではこれだと正しい結果が得られません。認識させるためには、等号・不等号を挟んだ式は、「左辺」と「右辺」の2つの要素からなる形にする必要があります。[X]>=50」と分割してやる、と)但し、今回のご質問のような『連続した範囲』であれば、前(左)で既出となる式の要素で「[X]<=0」が「真(=-1)」とならなかった時点で、「[X]>0」が保証されますので、上記のように、「[X]>0」を省略して「[X]<=50」だけを条件として指定すればOk、ということになります。([X]<=50)」という式と解釈されます。この場合、「[X]<=50」は、「真(=-1)」か「偽(=0)」か「Null」のいずれかになります。何にせよ、「0<[X]<=50」全体として「正(=-1)」となることがないため、ご質問の式では、IIF関数は常に第3引数に指定された値「""」を返すことになります。以外なので、「真(=-1)」という値が返された、ということです。Nullについては、以前、他の方の質問につけた回答も、併せて参考までに:http://oshiete.goo.ne.jp/qa/4850675.htmla)IIF関数で対応する場合:IIF関数の第2引数または第3引数に、IIF関数を入れ子とする必要があります。""))))b)別の組込関数を使用する場合:IIF関数は二択ですので入れ子にする必要がありますが、Accessのクエリで使用できる、似た機能の関数に、Switch関数というものもあります。これであれば、入れ子にする必要がなくなります。"A"...続きを読む他の回答も見るQクエリで「データ型が一致しません」と表示されるクエリ1とクエリ2をクエリ3で結合するとクエリ3で「データ型が一致しません」と表示されます。PC管理台帳;クエリ1では[使用者氏名]の苗字と名前のスペースを置換しました。職員アカウント;クエリ2では[氏名]の苗字と名前のスペースを置換しました。クエリ3で[使用者氏名]と[氏名]が一致しているものを抽出したいです。[クエリ1].[式1]=[クエリ2].[式1];これでクエリ3をひらくと「データ型が一致しません」と表示されます。どなたかアドバイスお願いしますクエリ1とクエリ2をクエリ3で結合するとクエリ3で「データ型が一致しません」と表示されます。PC管理台帳;クエリ1では[使用者氏名]の苗字と名前のスペースを置換しました。「データ型が一致しません」のエラーが発生するパターンのひとつに、『結合に使用している演算フィールド(ご質問の件では式1が該当)の結果がエラーとなるレコードが含まれている』というのがあります。クエリ1・クエリ2の式1にはReplace関数が使われていますが、Replace関数の第1引数にNullを指定すると、エラーになります。従って、恐らく「PC管理台帳」テーブルの「使用者名」か、「職員アカウント」テーブルの「氏名」のどちらか(或いは双方)が、空欄(Null)になったままのレコードがある可能性があります。(なお、Trim関数は、第1引数がNullであってもエラーになりません)上記推測が当たっていれば、a)上記フィールドが空欄になっているレコードをなくす(その上で、今後のことを考えると値要求を「はい」に設定しておくことをお勧めします)b)式1の関数を下記のように変更するのどちらかの対応をされれば、ご質問のエラーは解消されるものと思います。職員アカウント;Nz関数は、第1引数がNull(=文字列扱い不可の空白)だった場合に、第2引数の値に置換する関数です。第2引数に「""」(空文字=文字列扱い可の空白)を指定することで、Replace関数がエラーになるのを回避しています。Replace関数の一番最後の引数「1」は、半角/全角を区別させないためのものです。これにより、スペースは全て削除されるため、Trim関数は不要になります。-1」は、それぞれ開始位置と置換する文字数の指定です。この辺りは、詳しくはヘルプを確認して下さい)「データ型が一致しません」のエラーが発生するパターンのひとつに、『結合に使用している演算フィールド(ご質問の件では式1が該当)の結果がエラーとなるレコードが含まれている』というのがあります。クエリ1・クエリ2の式1にはReplace関数が使われていますが、Replace関数の第1引数にNullを指定すると、エラーになります。33もともと他のデーターベースからCSVで落としたものをインポートしているので、データの存在自体はどうしようもありませんが、これらの重複しているデータを1件だけ表示したいのです。33どのようにすればよいでしょうか。Aベストアンサークエリにて[固有のレコード]プロパティーを[はい]にします他の回答も見るQAccessを開くと「排他モードじゃないので変更しても保存できない」との旨の表示が出てしまう。2000」を使用して顧客管理用のデータベースを作成し、複数のパソコンで使用できるように原本を共有ドキュメントに入れて、ネットワーク上の他のパソコンではショートカットを作成し、それぞれがそのデータベースを開いたり編集したり出来るようにしています。特定のパソコンだけそのデータベースを開く際に「現在、このデータベースは排他モードでアクセスしていません。変更しても、後で保存できない可能性があります。」と表示され、中身を編集したり保存出来ないようになっています。たしかに、「規定の開くモード」は「共有モード」になっており、排他モードにはしていないです。この設定で会社の大多数のパソコンでは上記メッセージが出ることなくちゃんと編集ができるのに、どうして特定のパソコンだけこのようなメッセージが表示されて編集を保存できないのでしょうか?現在の設定のまま使えるようにするための方法はありますでしょうか?まだAccessを使い始めたばかりで、記載した情報も少ないかもしれませんが、何か分かりましたら教えてください。2000」を使用して顧客管理用のデータベースを作成し、複数のパソコンで使用できるように原本を共有ドキュメントに入れて、ネットワーク上の他のパソコンではショートカットを作成し、それぞれがそのデータベースを開いたり編集したり出来るようにしています。特定のパソコンだけそのデータベースを開く際に「現在、このデータベースは排他モードでアクセスしていません。変更しても、後で保存できない可能性があります。」と表示され、中身を編集したり保存出来ないようになっています。アクセスしていません。変更しても、後で保存できない可能性があります。」と表示<可能性・1>ご質問の「特定のパソコン」の『既定の開くモード』が「共有モード」で、「大多数のパソコン」では「排他モード」になっているのだとすると、「現在の設定のまま」というのは難しいと思います。(逆にいうと、ご質問の現象が『既定の開くモード』に起因したものなら、その設定の変更で対応できるはず、ということ)なお、Accessの「排他モード」には、私が知る限り少なくとも2種類あります。『既定の開くモード』で指定する「排他モード」であれば、Access2000では、実際には他の人が使用中であっても、同じファイルを開くことができたと思いますので、まずはその設定を変更することで問題が解決できないか、確認されてみてはいかがでしょうか。2種類の排他モードについての参考として、以前の回答へのリンクを載せておきます:http://oshiete1.goo.ne.jp/qa3688575.html※念のため今回再試したところ、『既定の開くモード』の「排他モード」でも、重複起動させると「使用できませんでした」とのメッセージが返されました。SP2でこの辺りは修正が掛かったかもしれません。今回のご質問のAccess2000では、従来の動作のままのはずですので、試してみる価値はあるかと思います。<可能性・2>他の大多数のパソコンでも『既定の開くモード』が「共有モード」だとすると、上記の話は成り立ちません。・・・というより、同時に使用している場合、他のパソコンでも「後で保存できない可能性が」とのメッセージが出るはずの状況です。(Accessの仕様として、そうなっているはず、と)この場合は、念のため、他のパソコンのショートカットのリンク先が、本当にネットワーク上の原本を開く形になっているか、確認してみてください。実は各パソコンにコピーされたファイル(フォームなど+リンクテーブル)にリンクしたもの、という可能性が考えられるためです。※これは、shocola_ttさん以外の方がそのデータベースを作成されたと想像しての回答です。この構成の場合は、「特定のパソコン」にその原本のコピーを作成して、作業はこのファイルで行う、という形にすれば、問題が解決すると思います。アクセスしていません。変更しても、後で保存できない可能性があります。」と表示<可能性・1>ご質問の「特定のパソコン」の『既定の開くモード』が「共有モード」で、「大多数のパソコン」では「排他モード」になっているのだとすると、「現在の設定のまま」というのは難しいと思います。Access2003選択クエリにて、別テーブルのフィールドにある値すべてを抽出条件にできますか?ホームページに来て頂いた方の検索キーワードを集計しております。テーブル1には『検索キーワード履歴』フィールドがあり、お客様が使用した検索キーワードが入力されています。(約2万件)テーブル2には『除外キーワード候補』フィールドがあり、不要なキーワードが入力されています。抽出条件をどのように指定したらいいのか分かりません。そもそも、別テーブルのフィールドにある値すべてを除外させる抽出条件って指定できるのでしょうか。SQLを用いる方法でも構いませんので教えてください。)ということ?1フィールドに1キーワードの場合です。抽出条件の所に何と入力すればよいでしょうか。文章から察するにフォーム上のチェックマークの付いたレコードがあって、それらのレコードをクエリで抽出するってことですよね?ならば、クエリのデザイン画面で抽出欄に「-1」を指定することで抽出できます。クエリ1の結果をカウントあまりにクエリを作り過ぎる為、今後の向上の為にと思い、質問します。"'"))>が理解できませんでした。フォームを開くと「パラメーターの入力」ウィンドウが開いてしまうaccess2007OS:winXPaccess初心者です。テーブルにて主キーの変更を行なったらその後フォームを開くたびに「パラメーターの入力」ウィンドウが勝手に出てくるようになってしまいました。何も入力せずにOKを押せばそのままフォームは開くのですが煩わしいので非表示にしたいです。変更するにはどのようにしたら良いのでしょうか?また、再発防止のためになんでこのような設定になってしまったのかも教えていただけるとありがたいです。フォームのデザインビューで表示されるフィールドリストの中には残っていましたフィールドリストに残っているということは、そのフォームのレコードソースに指定しているテーブル/クエリに、その名前のフィールドがある、ということを意味しています。テーブルからは削除済みとのことですので、恐らくそのフォームはレコードソースにクエリ(又はSQL文)を使用しているものと推測します。テーブルから削除されたフィールドがクエリ内に残っていると、そのクエリを実行したとき(→そのクエリをレコードソースとするフォームを開いた場合を含む:コントロールでの使用有無は問いません)に、「パラメータの入力」ダイアログが表示されます。レコードソースに指定しているクエリまたはSQL文の中に、テーブルから削除したフィールドが残っていると思いますので、探してみてください。~」とするか、SQL文上で「As」を使用して、別名をつけているものと思います)横レス失礼致します。フォームのデザインビューで表示されるフィールドリストの中には残っていましたフィールドリストに残っているということは、そのフォームのレコードソースに指定しているテーブル/クエリに、その名前のフィールドがある、ということを意味しています。bと入力したとき、個数を数える方法は知っていますが、種類が3個だと集計するにはどんな関数を使えばいいのでしょうか。下記URLの方法は如何でしょう。「重複しないデータを数える」http://integer.exblog.jp/2132536/「リストから重複するデータをはぶいた件数(個数)をカウントする」http://ameblo.jp/xls/entry-10073848203.html「重複しないセル数」ユーザー定義関数の説明http://www.katch.ne.jp/~kiyopon/soft/juhukunai.html他の回答も見るQアクセスで#エラーを表示させない方法は?アクセス2000を使用しています。フォームにテキストボックスを貼り付けて、計算式を入れています。計算できない数値になると、#エラーと表示されます。いう表示を消したいのですが、どうしたらよろしいでしょうか?宜しくお願い申し上げ候。Aベストアンサーはじめは「IIF関数とIsError関数を使用して」と考えたものの、IIF関数は引数がエラーになった時点でエラーが返されてしまう(=元の木阿弥)ので、どうしたものかと思ったのですが・・・とりあえず、「見た感じ、何も表示されていないように見える」ということで、『条件付書式』での対応というのはいかがでしょうか。1)当該フォームをデザインビューで開く2)当該テキストボックスを選択3)メニューで「書式(O)→条件付き書式(D)」を選択4)『条件付き書式設定』ダイアログが開くので、『条件1(1)』枠の左端にあるコンボボックスで「式」を選択5)上記コンボボックスの隣が1つのテキストボックスになるので、そこに以下のような式を入力IsError([テキスト0])※上記の式は当該テキストボックスの名前が「テキスト0」の場合です。6)上記テキストボックスの下、右から2番目に「A」と表示された、文字色を指定するボタンがあるので、その左の小さな「▼」をクリックし、当該テキストボックスの背景と同じ色(既定では白のはず)を選択7)『OK』ボタンをクリックしてダイアログを閉じる・・・以上です。これで、『テキスト0』の計算式がエラーになった場合は、文字色が背景と同じ色になるので、「#エラー」という表示はされていないように見える、という状態にすることができると思います。はじめは「IIF関数とIsError関数を使用して」と考えたものの、IIF関数は引数がエラーになった時点でエラーが返されてしまう(=元の木阿弥)ので、どうしたものかと思ったのですが・・・とりあえず、「見た感じ、何も表示されていないように見える」ということで、『条件付書式』での対応というのはいかがでしょうか。コンボボックスの...17CheckBoxの配列化18エクセルで連続するデータの個...19IF関数でEmpty値を設定する方法。配列デー...14エクセル(VBA)の空白配列の削除...15Excelのオートフィルタで抽出し...16EXCELでマイナス値の入ったセル...17[エクセル]連続する指定範囲か...18IF関数でEmpty値を設定する方法。Inc.Q質問する(無料)Q&A検索goo検索gooIDで新規登録・ログイン新規登録する(無料)会員の方はこちら外部サービスのアカウントで新規登録・ログインYahoo!で新規登録・ログインGoogleで新規登録・ログインTwitterで新規登録・ログインFacebookで新規登録・ログインdアカウントで新規登録・ログイン※各種外部サービスのアカウントをお持ちの方はこちらから簡単に登録できます。お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。会員でない方、会員になるとあなたも質問や回答ができるようになります!!親切・丁寧な回答が集まる場30分以内に回答がもらえ回答数は平均3件!匿名(ニックネーム)での投稿なので。