DexMachina の回答履歴
- アクセスの正規化?
前に質問したことがあったのですが、やってみてできなかったので再度質問させてもらいます。今AのテーブルとBのテーブルをクエリで結合していて、簡単に書くと下記のようなテーブルになっています。 【県名】 【地方】 【数量】 群馬 関東 10 埼玉 関東 15 栃木 関東 20 東京 関東 50 新潟 北陸 15 富山 北陸 15 石川 北陸 35 鳥取 中国 8 島根 中国 12 広島 中国 40 これを、下記の様に変えたいんですが、どうすればいいでしょうか? <第1段階> 【地方】 【県名】 【数量】 関東 群馬 90 関東 埼玉 90 関東 栃木 90 関東 東京 90 北陸 新潟 65 北陸 富山 65 北陸 石川 65 中国 鳥取 60 中国 島根 60 中国 広島 60 <第2段階> 【地方】 【県名】 【数量】 関東 群馬・埼玉・栃木・東京 90 北陸 新潟・富山・石川 65 中国 鳥取・島根・広島 60 このように最終的には第2段階にしたいのですが、やり方がわかりません。どなたか、分かる方教えて下さい。ちなみに集計クリエの「グループ化」「合計」では、できませんでした。 お願いします。
- OLE又はDDEを使うVISUAL BESICモジュールを実行している時は…と表示されます
以前、下記の質問をさせていただいた者です。 教えていただいた方法を実行中に、別の問題が発生したため 新規に質問スレを立てさせていただきました。 バッチ処理をすると(Accessの)ldbが残ってしまいます ⇒ http://okwave.jp/qa5148407.html ------------------------------------------------------------------- OLE又はDDEを使うVISUAL BESICモジュールを実行している時は モジュールの実行を中断する必要があります ------------------------------------------------------------------- というエラーメッセージが表示されてしまいます。 (1)AccessのMDBファイルを直接叩く → AoutExecで起動~作成~終了まで動作し、問題なく終了しました。 (2)元ネタのコピー~AccessのMDB起動までを含むBatファイルを叩く → 「OLE又はDDEを使うVISUAL BESICモジュールを実行している時は モジュールの実行を中断する必要があります」 と表示され途中で止まりました。 (2)の症状の場合 ・新規にMDBを作成しデーブル等をインポートし直す ・最適化する などの方法があるようですが…。 (1)ではエラーメッセージが表示されることもなく 終了できているので原因が不明です。 モジュールで途中停止することがなくなれば 先に質問させていただいた「ldbが残ってしまう」問題も 解決できそうな気がします。 ゜。.o。─* 補足 *─。o.゜。─**─゜。.o。─**─。o.゜。 ●前提 Accessバージョン: MS Access 2003 サーバのOS: Windows Sever 2003 R2 MDBファイルについて サイズ: 2,772KB 最適化: 閉じるときに最適化(ツール→オプションで設定済) ----- ●前回の質問と変更した点 1.バッチファイル内の処理順番 <変更前> (1)別サーバからAccessで使うデータをコピーする (2)Accessを起動し、ファイル読込→CSV出力 という一連の処理をする (3)出力されたCSVファイルをバックアップフォルダにコピー&リネームする (4)バックアップフォルダの中身を最新2週間分残して削除する ↓ <変更後> (3)前日に出力されたCSVファイルをバックアップフォルダにコピー&リネームする (4)バックアップフォルダの中身を最新2週間分残して削除する (1)別サーバからAccessで使うデータをコピーする (2)Accessを起動し、ファイル読込→CSV出力 という一連の処理をする としました。 Accessの処理が終わらないうちに次のバッチ処理が始まるからでは? という指摘を受けたからです。 2.ファイル形式の変更 Accessのファイル形式を「2000」→「2002-2003」に変更しいました。 実際に動かしているサーバにインストールされているのが、Access2003だからです。
- ベストアンサー
- その他MS Office製品
- rurineko
- 回答数3
- アクセスのリレーションシップとクエリ
私は、アクセスの初心者です。なので、難しいことはよく分からないのですが、アクセスではある1つのフィールドをキーにしてくっつけたりすることができるじゃないですか?そのキーを設定したりするのはリレーションシップでも、クエリでも同じような感じで行うと思うのですが、その2つの違いはクエリはそれをテーブルとして表示できるのに対して、リレーションシップはただ定義するしかできずテーブルとして表示はできないのでしょうか? あと、クエリとかである条件で抽出したテーブルの1つのフィールドのSUMを出したいのですがどういった条件式を書けばいいのでしょうか? なにぶん、初心者ゆえに質問が分かりにくいと思いますが、どうかよろしくお願いします。
- エラーになるヘルプがある
エクセル2003、OS;vista、ADSLで常時接続です。 VBEのオブジェクトブラウザを開き、 わからない言葉をアクティブにし、F1を押すとヘルプがでますよね? それで、表示されるヘルプと表示されないヘルプがあるのですが違いがわかりません。 例えていうなら 画像左が Excel.WorksheetFunction のメンバの「Rate」 右が Excel.WorksheetFunction のメンバの「Replace」 です。 どうしてこんなことが起きるのでしょうか? よろしくお願いします。
- 日食の欠け方にゆいて
先日日食がありましたが、地域によって太陽が右から欠けるところと、左から欠けるところがあったようです。 テレビの解説によると、皆既日食帯より北では右から、南では左からということですが、なぜこのようになるのかわかりません。 どなたかわかりやすく仕組みを教えていただけるとありがたいです。
- Access起動中にエクセルからADOでデータの更新ができない
こんばんは。原因がわからないので質問させてください。 SQLサーバーのデータをAccessのmdbへリンクテーブルしています。 (SQLサーバー → Access) 全て一つのパソコンで行なっています。(LANには接続していません) Accessのmdbファイルを起動している時に ExcelからSQLサーバーのAccessにリンクしている上記のテーブルへ ADOを使ってデータを追加しています。 (Excel → Access) しかし、「rs.Update」の部分で 「ODBC--リンク テーブル'テーブル1'での更新に失敗しました。」 となってしまいます。 なので、一度mdbファイルを落として、コードを再開すると通るので ADOでExcel → Accessにデータを追加し終わってから再度mdbファイルを立ち上げています。 また同じ状態(mdbファイルを起動)で Excel → SQLサーバー へ更新クエリをしようとすると「時間切れになりました」となります。 (こちらもmdbファイルを落とすと再開できます。) いちいちmdbファイルを落とすのめんどうなのですが 回避する方法はありますか? cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Users\Documents.test.mdb" rs.Open "テーブル", cn, adOpenStatic, adLockPessimistic rs("フィールド") = True rs.Update '保存 rs.Close: Set rs = Nothing というコードを書いています。 Accessを落とせば正常に動きます。 ご教授よろしくお願い致します。
- ベストアンサー
- その他(データベース)
- fdshjs
- 回答数2
- 「ComboBox」が「comboBox」になる
どうでもいいことを聞いてもいいですか? 汗 エクセル2003です。 http://www.cocoaliz.com/excelVBA/index/39/ を参考にシート上のコンボボックスを操作しているのですが なぜ変数のオブジェクト型の部分の「MSForms.comboBox」が 「ComboBox」という風に大文字で始まらないのでしょうか? わざと「c」を大文字の「C」に書き換えても、元に戻ってしまいます。 なのに、MSForms.にして「Crtrl + j」でヒントを出した時は大文字で「ComboBox」となっています。 私だけなのでしょうか? どこかで「comboBox」と宣言してしまったのかと思い探してみましたがありませんでした。 聞かれたときに困るので教えてください。 ご教授よろしくお願い致します。
- エクセル2002 「条件付き書式」で数式を使って
添付ファイルのような、A列とB列の組み合わせで、 6パターンの判定をして、C列のフォント色を青色と赤色に選択したのですが、 可能でしょうか? 条件付き書式で、IF文、AND、ORを組み合わせれば可能でしょうか? 6つを判定する関数式が想像できないもので、、、、 ご教授頂ければ助かります。
- アクセス 「作成日時」が2つある
アクセス2003です。 ファイル→データベースプロパティを開くと 「ファイルの情報」、「詳細情報」の2つのタブに 「作成日時」と言う項目があります。 しかしその2つの日付は一致しません。 どちらが正しい「作成日時」なのでしょうか? よろしくお願いします。
- CreateObjectを使わない方法
http://officetanaka.net/excel/vba/tips/tips61.htm のコードを実行したいのですが、 Set WD = CreateObject("Word.Application") を通り過ぎる時に、3秒くらい時間がかかります。 (パソコンが古いからかも知れませんが) なのでもう一つの方法(CreateObjectを使わない方法) でこのマクロを実行したいのですが どういう方法か忘れてしまいました。 参照設定の「Microsoft Word 11.0 Object Library」にチェックをしたのですが、 どういうコードを書けばいいんでしたっけ? CreateObjectを使う方法と、今質問している方法と どちらが早く処理できるかを比べたいと思います。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- lkhjlkhjlk
- 回答数2
- ACCESSがクラッシュ?
ACCESS初心者です。 一応、対応できたので緊急ではありませんが非常に不思議な現象が発生しました。 もし原因や対応等についてご存知の方があればご教示願います。 経緯は時間を追って以下の通りのです。 1.ACCESSでシステムを開発(具体的にはメイン・サブフォームの作成)を行っていました。 2.一旦ウィザードでフォームを作った後、かなりあちこちをいじっておりました。いろいろなエラーメッセージが表示されていました。 3.突然、砂時計が出っ放しになってどこをクリックしても受け付けられなくなりました。 4.30分以上待っていましたが全く変わらないため、やむを得ず強制終了をかけました。(前日にDBを別名でセーブしてあったのでそこからやり直してもいいと思っていました) 5.再度ACCESSを立ち上げ、当該フォームを呼び出すと「コンパイルエラー」が表示されVBAが表示されましたが、それは作業中であったフォームではない、別のフォームのもののようです。 6.そのフォームをフォームビューで開いてもコンパイルエラーになるのはいいとして、同じDB内の全く別のフォームを実行してもコンパイルエラーが出ます。 7.何をやってもエラーになり、表示されているVBAの画面を見ると「 ate Sub ・・・・」等となっていてどうも元のコマンドの最初の方が消えてしまって不完全なコマンドになっているようです。 (当然私は初心者ですしそんなところを触った覚えも何もないのですが) 8.どうもDB全体が壊れているようでした。ACCESSの場合はすぐに壊れるという話を聞いていましたので、このDBはあきらめて閉じて、昨日セーブしておいたDBを開きました。 9.なんと!、昨日セーブしてあったDBを立ち上げ、あるフォームを実行したところ、また先ほどと同じコンパイルエラーが出ます!DBが違うはずなのになぜ??? 10.ACCESS経験者に応援を求め、とりあえず壊れたコマンドが表示されている画面の全ての行に「’」を入れてコメント行にしたところ、なんとかエラーは起きなくなりました。 以後どのDB、どのフォームを開いても大丈夫です。 以上が経緯ですが、こんなことってACCESSではありえることなのでしょうか? とりわけ、あるDBの不具合が全く別のDBにも波及するというのは全く理解できませんしこんなことではACCESSをこれから使う気も失せてしまいそうです。 何かアドバイス等あればよろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- sirouto012
- 回答数3
- Accessのクエリについて
Accessの初心者です。 “クエリ”がよくわからなくて困っています。 (1)テーブルの情報を更新した場合、クエリも自動で内容が更新するのでしょうか? 複数のクエリがある場合、テーブル更新後すぐにアクセスを閉じて、次にアクセスを起動させた時はクエリの内容も更新されるか。 それとも、テーブル更新後に各クエリを実行しないと更新しないとでしょうか。 (2)クエリ実行後、表示されたデータの一部を書き換えて出力した場合、元のテーブルの内容も変更されてしまうのでしょうか。 教えてください。 どうぞよろしくお願い致します。
- ベストアンサー
- その他MS Office製品
- noname#208518
- 回答数1
- 「テーブルリンク」なのか「インポート」なのか?
アプリケーション(1).mdb アプリケーション(2).mdb アプリケーション(3).mdb と3つの空のデータベースを用意しました。 (1).mdbに新規テーブルを作成し、保存します。 (2).mdbを開いて、「テーブルのリンク」で(1).mdbのテーブルをリンクしました。 (3).mdbを開いて、「テーブルのリンク」で(2).mdbを接続した時に、先ほどリンクしたテーブル(1→2)は表示されません。 しかし、「インポート」にすると(2).mdbの(1→2)へリンクしているテーブルを(2→3)へリンクすることができました。 結果的にはこれは、「インポート」ではなく「テーブルリンク」ですよね? (1).mdbでテーブルのデータを追加して保存し、(3).mdbで確認すると、ちゃんとデータが更新されています。 よくわからなくなってきました。 これは「インポート」なのでしょうか? 「テーブルリンク」なのでしょうか? よろしくお願いします。
- Access起動中にエクセルからADOでデータの更新ができない
こんばんは。原因がわからないので質問させてください。 SQLサーバーのデータをAccessのmdbへリンクテーブルしています。 (SQLサーバー → Access) 全て一つのパソコンで行なっています。(LANには接続していません) Accessのmdbファイルを起動している時に ExcelからSQLサーバーのAccessにリンクしている上記のテーブルへ ADOを使ってデータを追加しています。 (Excel → Access) しかし、「rs.Update」の部分で 「ODBC--リンク テーブル'テーブル1'での更新に失敗しました。」 となってしまいます。 なので、一度mdbファイルを落として、コードを再開すると通るので ADOでExcel → Accessにデータを追加し終わってから再度mdbファイルを立ち上げています。 また同じ状態(mdbファイルを起動)で Excel → SQLサーバー へ更新クエリをしようとすると「時間切れになりました」となります。 (こちらもmdbファイルを落とすと再開できます。) いちいちmdbファイルを落とすのめんどうなのですが 回避する方法はありますか? cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\Users\Documents.test.mdb" rs.Open "テーブル", cn, adOpenStatic, adLockPessimistic rs("フィールド") = True rs.Update '保存 rs.Close: Set rs = Nothing というコードを書いています。 Accessを落とせば正常に動きます。 ご教授よろしくお願い致します。
- ベストアンサー
- その他(データベース)
- fdshjs
- 回答数2
- Access2007 ラベルの削除ができない。
宜しくお願いします。 使用環境:WinVISTA ACCESS2007 初めてaccess2007でデータベースを作成し、混乱しています。 以前は(今もですが)ACCESS2002を使用しており、 バージョンの違いにより戸惑っています。 誰か教えてください。 3つのテーブルをリレーションシップし、 フォームを「その他のフォーム」→「フォームウィザード」で 作成しました。 ・メインフォーム ・サブフォーム ・サブフォーム ※ この流れでリレーションシップ。 今まで、2002でもこのパターンで作っいたのですが、 2007になり変わったところがあり、困惑しています。 画像をご覧頂くとわかるのですが、 まず、ウィザードでフォームを作成すると最初に付く「ラベル」が削除できません。 削除すると、そのテキストボックスごと削除されてしまいます。 サブフォームに関しては「ラベル」を削除するとサブフォーム自体が 削除されてしまいます。 今までは単体でも削除できましたし、私の「手ぐせ」ですが、 ラベルの中の文字を消せば削除できたので、違いに戸惑っています。 ■ 質問1 「ラベルのみ」の削除の仕方を教えてください。 ・・・・ また、ひとつのテキストボックスを伸ばしたりすると他のテキストボックスも 伸びるようになってしまいました。 またサブフォームのみ伸ばしたり縮めたりすると、メインフォームも一緒に 伸びたり、縮んだりします。 ■ 質問2 サブフォームやテキストボックス単体で伸縮できるようにすればよいのでしょうか? またいろいろ動かしている内に一つのサブフォームと一つのテキストボックス は単体で動くようになりました。 (これもラベルは削除できませんが・・) まったくもってわかりません・・。 切り離し方など、誰かお助けください。 宜しくお願いします。
- dm^-3の単位について
容量モル濃度で「c/mol dm^-3」という単位が出てきたのですが、このdm^-3というのは(m/10)^-3なのでしょうか?それとも(m^-3)/10なのでしょうか? ご回答頂ければ幸いです。
- アクセス エラーを数値「0」に変換するには
こんばんは。 テーブル1のフィールド1を、テキスト型にし 1 2 3 あ と入力しました。 クエリを作成し、 SELECT CLng([テーブル1]![フィールド1]) AS 数値に変換 FROM テーブル1; とした場合、 「あ」の部分が数値に変換できないため、「#エラー」となります。 このままだと、並べ替えをしようとすると 「抽出条件でデータ型が一致しません。(Error 3464)」 となるため、「#エラー」を0へ変換したいのですが、 やり方がわかりません。 IIFなどを使うのでしょうか? ご教授よろしくお願い致します。
- 「.Number」の部分がエラーになる
今までできてたコードがいきなりエラーになりました。アクセス2003です。 Sub エクセルへ出力() On Error GoTo エラー DoCmd.OpenTable "T伝票", acNormal, acEdit DoCmd.RunCommand acCmdOutputToExcel Exit Sub エラー: MsgBox "予期せぬエラーが発生しました。: " & Err.Number End Sub というコードなのですが デバッグすると「.Number」の部分が 『コンパイルエラー メソッドまたはデータ メンバが見つかりません。 (Error 461)』 となります。 前までは問題なくできてたと思うのですが 何が変わったのでしょうか? このコードはおかしいですか? ご教授よろしくお願い致します。
- access タブコントロールの使い方。
宜しくお願いします。 使用環境:WinXP access2002 今、タブを使ったaccessフォームの作成を勉強しています。 初歩的な質問かも知れないですが、 できそうで、できないところがあるのでご指導お願いします。 まずテーブルが3つあります。 会員テーブル 種目テーブル 内訳テーブル これらをフォーム上でタブコントロールを使いタブで 操作したいのですが、手順としてはこういう具合に行いました。 1.フォーム上にタブコントロールを設置してページを3つにする。 2.ツールボックスから「サブフォーム/サブレポート」を選び、それぞれの タブにテーブルを設置する。 ※ リレーションシップは3つとも組んであります。 そこでいざ、フォームビューを開いてみると、データシート形式で 表示されました。 実際にはタブ内で単票や帳票形式でやりたいので、右クリック→プロパティで 変更ができるかどうか確認したのですが、変更する項目がありません。 今までいくつかaccessデータベースを作ったのですが(VBAは抜きで)、 必ず、「データシート」か「帳票形式」か、など選択するところがあったと思いますが、 今回はなぜかありません。 そこで教えてください。 具体的にはタブを使って、 会員テーブル・・・単票形式 種目テーブル・・・帳票形式 内訳テーブル・・・帳票形式 のフォームを作りたいのですが、どうすればよいのでしょうか? そもそものやり方が違うのでしょうか。 初めの一歩に躓いています、お知恵をお貸しください。 宜しくお願いします。
- Access2007 DoCmd.ApplyFilterのAnd条件について
お世話になっております。 下記のフィルタはそれぞれ単独で機能しています。 DoCmd.ApplyFilter , "(コード Like '" & Me.コード1 & "')" DoCmd.ApplyFilter , "日付 between #" & 開始 & "# and #" & 終了 & "#" これをAndでフィルタリングしたいのですが、たとえばこのようにすると構文エラーとなります。 DoCmd.ApplyFilter , "(コード Like '" & Me.コード1 & "') and (日付 between #" & 開始 & "# and #" & 終了 & "#)" Andとしてはこのようにすれば機能することから、between以下がおかしいと思うのですが、自分ではわかりませんでした。 DoCmd.ApplyFilter , "(コード Like '" & Me.コード1 & "') and (コード Like '" & Me.コード2 & "')" ご教授いただければ幸いです。よろしくお願いいたします。
- 締切済み
- その他(データベース)
- kami21
- 回答数1