Access 2010: テーブルB[F2]にテーブルA[F1]の最後1文字が「1」である条件下での数をカウントしたい
- Access 2010のテーブルAからテーブルB[F2]にテーブルA[F1]の最後1文字が「1」である条件下での数をカウントする方法について教えてください。
- テーブルAとテーブルBの関係性に基づいて、テーブルB[F2]にテーブルA[F1]の最後1文字が「1」である条件を適用した上で、数をカウントしたいです。
- Access 2010で、テーブルB[F2]にテーブルA[F1]の最後1文字が「1」である条件下での数をカウントする方法を教えてください。
- ベストアンサー
アクセス2010 他テーブルを参照してCount
アクセス2010 テーブルA [F1] ab1 aa1 ah0 cd1 gh0 を元に、頭1文字の重複行を削除したテーブルBがあります テーブルB [F1] [F2] a..........0 c..........0 g..........0 テーブルB[F2]に テーブルA[F1]の最後1文字が「1」である条件下での数をカウントしたい。 [F1] [F2] a..........2 c..........1 g..........0 DoCmd.RunSQL "UPDATE テーブルB (F2) SELECT Count(*) FROM テーブルA Where テーブルA.F1 Like '???1' And テーブルB[F1]=Left(テーブルA[F1],1) ;" みたいな感じで・・・?? よろしくお願い致します。
- situmonnsya
- お礼率70% (374/532)
- その他(データベース)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
DoCmd.RunSQL _ "UPDATE テーブルB SET テーブルB = " & _ "DCount(""*"",""テーブルA"",""F1 Like '*1' AND Left(F1,1)='"" & [F1] & ""'"");" でどうかな。
関連するQ&A
- アクセス2010 他テーブルを参照してCount
アクセス2010 以前質問(QNo.7322538)しましたが、再度質問です。 >質問 テーブルA [F1] ab1 aa1 ah0 cd1 gh0 テーブルB [F1] [F2] a..........0 c..........0 g..........0 テーブルA[F1]の最後1文字が「1」である条件下で、 テーブルA[F1]の全データから、テーブルB[F1]の数をカウントしたい。 [F1] [F2] a..........2 c..........1 g..........0 >ご回答 DoCmd.RunSQL _ "UPDATE テーブルB SET テーブルB.F2 = " & _ "DCount(""*"",""テーブルA"",""F1 Like '*1' AND Left(F1,1)='"" & [F1] & ""'"");" これでうまく動くのですが、DCount使用の為か処理時間がかなりかかります。 もっと早くできないでしょうか? よろしくお願い致します。
- ベストアンサー
- その他(データベース)
- アクセス複数テーブル時のORDER BY の記述
アクセス2010です 以下のようにテーブルB.F2の上位2のF1とテーブルCのF1を足したテーブルAを作りたいのですが。 ORDER BY はどこに記述するのでしょうか? DoCmd.RunSQL "INSERT INTO テーブルA (F1) " + _ "SELECT TOP 2 テーブルB.F1+テーブルC.F1 + _ "FROM テーブルB, テーブルC " + _ "Where ~~~ ORDER BY テーブルB.F2 ;" 上記のようにすると「テーブルB.F1+テーブルC.F1」計算後の上位2となってしまいます。 ----------- テーブルB (F1,F2) 長嶋,30 王,100 張本,20 ---------- テーブルC (F1) キョジン ハンシン ---------- テーブルA 張本キョジン 長嶋キョジン 張本ハンシン 長嶋ハンシン ---------- としたいが、 ---------- テーブルA 張本キョジン 長嶋キョジン ---------- になってしまいます。 ご教示お願い致します。
- ベストアンサー
- その他(データベース)
- ACCESSのモジュールでのUNION
ACCESS超初心者です。 モジュールでテーブルAとBテーブルBを結合しテーブルCを作成したいのですが、 DoCmd.RunSQL " SELECT * FROM TABLE_A UNION SELECT * FROM TABLE_B INTO TABLE_C; " でRunSQL実行時のエラー(2342)となってしまいます。 きっと基本的なことだと思うのですが・・・ どうぞお教えください。
- ベストアンサー
- その他(データベース)
- access一部のフィールドを他のテーブルへVBA
先日 https://okwave.jp/qa/q10245651.html において > table2の新しいデータとして > table1のデータをコピーしたい、 単に追加で ということであれば、という 御回答: Sub Test() Dim StrSQL As String StrSQL = "INSERT INTO table2 SELECT table1.* FROM table1;" DoCmd.SetWarnings False DoCmd.RunSQL StrSQL DoCmd.SetWarnings True End Sub ---------------------- 上記の 回答をいただき うまく稼働しました 部分的にフィールドを別テーブルに 移動するとき ここでは table1のフィールド名 IDに table2のフィールド名 bに 入っている数値 にい 1を加えた数値を 移動したいのですが Public Function Test() Dim tb1 As Table Dim tb2 As Table tb1 = table1 tb2 = table2 Dim strSQL As String strSQL = "INSERT INTO table2![ID]SELECT"("[b]"FROM tablel)+1" (table1のフィールド[b]の数値に1を加えた数値を table2のフィールド[ID]に移行する、というつもりです) DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.SetWarnings True End Function 稼働しません すみません 宜しくお願い致します (ついでながら ここで でてくるb というのは テーブル table3 の IDの総和 すなわち SELECT Count(table3.ID) AS b FROM table3; 要は table3の最後のレコードの次のレコードの 番号の数値を table2のIDに移動したい というわけであります) (いずれのIDや bについても 数値型 長整数型 重複あり です)
- 締切済み
- Access(アクセス)
- アクセス2010 EXISTSの使い方
テーブルA F1 F2 あい False いえ True おか True きく True けこ False テーブルB F1 あ か け TB1にTB2が含まれるデータを抽出して テーブルC F1 あい けこ をつくりたい。 DoCmd.RunSQL "INSERT INTO テーブルC (F1) " + _ "SELECT F1 From テーブルA " + _ "Where F2=False And " + _ "EXISTS (SELECT * FROM テーブルB WHERE テーブルA.F1 Like '*テーブルB.F1*' );" としたのですが、追加件数は「0」です。 Likeの使い方が悪いのか、EXISTSが悪いのか? どのようにしたらTB3の結果を得られるでしょうか?
- ベストアンサー
- その他(データベース)
- Access2010 テーブルのフィールドについて
Access2010を使用しています。 テーブルのフィールド定義 [A][B][C][D][E][F][G] ↓ テーブルを開くと [A][B][C][E][F][G][D] と勝手に変わる (あるフィールドだけ、別の場所に移動) ↓ フィールドの並び順を [A][B][C][D][E][F][G] に戻す ↓ 保存してテーブルを閉じる ↓ 再度開くと [A][B][C][E][F][G][D] と変わってしまう。 この繰り返しです。 どなたか、お助け下さい。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- MySQL: 複数テーブルのcount
複数テーブルの総行数(count値)を取得したいのですが、下記だとテーブルA,B,Cの結果が バラバラに出力されてしまいます。 【入力条件】 mysql> select COUNT(*) AS 列ID from テーブルA union all select COUNT(*) AS 列ID from テーブルB union all select COUNT(*) AS 列ID from テーブルC; 【出力結果】 +-----+ | 列_ID | +-----+ | 1 | ←テーブルAの合計:行数 | 2 | ←テーブルBの合計:行数 | 3 | ←テーブルCの合計:行数 +-----+ 総行数:6を一発で取得するには、どのようにしたらよろしいのでしょうか? 大変恐縮ですが、ご教授よろしくお願いいたいます。 <<MySQLのverは5,5です。
- ベストアンサー
- MySQL
- WHERE句に複数テーブルを使いたい
アクセス2010です。 テーブルA F1__テキスト(重複あり) F2__数字 テーブルB F1__テキスト(重複なし) F2__Boolean 条件 ・テーブルAのF2が1の条件で ・テーブルAのF1にテーブルBのF2がない ・テーブルBのF2がTrueであるものだけ DoCmd.RunSQL INSERT INTO テーブルA(F1,F2) SELECT テーブルB.F1,100 FROM テーブルB WHERE テーブルA.F2 = 1 And テーブルA.F1<>テーブルB.F1 And テーブルB.F2 = True; WHERE句に複数テーブルを使いたい時は、どのようにするのでしょうか?
- ベストアンサー
- その他(データベース)
- テーブルごとのカウント
PHP5.2+mysql 5.0.45で開発を行っております。 SQLに関する質問なのですが 以下のことが可能かどうかご教授いただきたく。 4つのテーブルがあります。 (例は適当です。項目の名称等は無視してください。) テーブルA ID Name Kana テーブルB ID NameID Pref City テーブルC ID NameID Tel Fax テーブルD ID NameID email CellPhone とします。 A.ID=1000の時各テーブルのレコード数が A:B:C:D=1:3:2:2となっています。 SQLの出力結果として A.ID A.Name A.Kana B.Count(ID) C.Count(ID) D.Count(ID) という、6項目を出力したいのですが 方法がわかりません。 試してみたのは select A.ID,A.Name,A.Kana,Count(B.ID),Count(C.ID),Count(D.ID) from A left join B on A.ID = B.NameID left join C on A.ID = C.NameID left join D on A.ID = D.NameID where A.ID = 1000 group by A.ID,A.Name,A.Kana ですが 結果、 A.ID = 1000 A.Name = Name A.Kana = Kana Count(B.ID) = 3 Count(C.ID) = 3 Count(D.ID) = 3 となってしまいます。 冷静に考えるとそうなんですが・・・ もしうまく結果を取得できる方法があればご教授いただきたく よろしくお願いいたします。
- ベストアンサー
- MySQL
- MSアクセス SQLの書き方(UPDATE)
MSアクセス2010 テーブルA フィールドA=テキスト型(4文字) テーブルB フィールドA=テキスト型(2文字) フィールドB=Yes/No型 テーブルBの2文字が、テーブルAの4文字に含まれていたら、テーブルBの全てのレコードのYes/No型をTrueにしたい。 rs.MoveNextでループを使わず一括でする方法はないですか? DoCmd.RunSQL "UPDATE テーブルB SET フィールドB=True WHERE (テーブルAの文字にテーブルBの文字が含まれていたら) みたいな感じで。
- ベストアンサー
- その他(データベース)
お礼
>SET テーブルB.F2 = F2を入れてうまく動きました。 「"」の使い方はこのようにするのですね。 助かりました。ありがとうございます。