Access(アクセス)
- サブフォームからクエリにフィルター
Access2021 サブフォームに配置したテキストボックスに表示した文字列とクエリのフィールドに格納している同じ文字列を抽出して表示する流れを作っている所で下記の条件でクエリに組んでみましたが結果が反映されません。 ご教授頂ければ幸いです。 メインフォーム名 → メイン サブフォーム名 → サブ サブフォームに配置したテキストボックス名 → 検索品名 クエリの抽出したいフィールド → 品名 試した条件 ①と②はクエリの品名の抽出条件に ①[Forms]![サブ]![検索品名] パラメーターの入力が要求されます。 ②[Forms]![メインフォーム名]![サブフォーム名].Form![テキストボックス1] ②条件で [Forms]![メイン]![サブ].Form![検索品名] パラメーターの入力が要求されます。 ③IIf(IsNull([Forms]![サブ]![検索品名]),True,[品名]=[forms]![サブ]![検索品名]) これはクエリの空のフィールドに、式を入れて表示チェックを外して抽出条件をtrue パラメーターの入力が要求されます。 以上、宜しくお願い致します。
- ベストアンサー
- Access(アクセス)
- 1968masaru
- 回答数2
- オプションボタンを一括で有効にするVBA
Access2021 オプションボタンを一括で有効にするコードを作っているところで、下記のコードで試したのですがオプションボタンが押された状態(True)になりません。 オプションボタン名は、オプション1 オプション2 になります。 Private Sub ボタン_Click() Me!オプション1.Enabled = True Me!オプション2.Enabled = True End Sub ご教授頂ければ幸いです。 以上、宜しくお願い致します。
- ベストアンサー
- Access(アクセス)
- 1968masaru
- 回答数1
- accessのデータマクロ
お世話になります。 データ専用マシン(Main)を用意しています。いわゆるファイルサーバーです。そこにmain.accdbを用意して中にtableAを作成しています。 そして、ローカル端末のファイル local.accdbにtableAをリンクして使っています。 このMachineAで、リンクTableAを更新したら、 データマクロを使ってログを作成したいと思っています。 (1)main.accdbのtableAの実態にデータマクロを設定した所 tableAの実態を更新したらデータマクロは反応しました (2)この状態で、local.accdbからリンクtablesを更新したら、main.accdbにあるはずのデータマクロは反応しませんでした。 (2)次にlocal.accdbのリンクtableに対して、データマクロを作成して、 リンクtableAを更新したところ、ローカルのデータマクロも反応しませんでした。 リンクtableに対して更新時にデータマクロを実行するにはどうすればいいのでしょうか。 リンクtableとして使っている端末は何台かあり、vbaでいちいちプログラム化しなくても、データマクロがあれば各端末で何を更新しているかわかるかなと思っています。
- 締切済み
- Access(アクセス)
- defiant9
- 回答数3
- accessプログラム終了時にエラーになる
accessのプログラムを終了しようとすると下記のようなメッセージが 表示されました。 このデータベースはマシン"xxxxxxx"のユーザー'Admin'が開いています。データベースが使用可能な状態になった時点で再度実行してください。 そのまま処理を終了もでき、再度プログラムを起動しても正常に 動いているようです。 ただ起動時にできるファイル(プロパテイを参照すると Record-locking-infomationとなっていました)が削除されずに 残っていました。(正常終了時は自動的に削除されています) 使用環境はOS がWindows11,accessのバージョンは2019です。 原因や対応方法をご教授いただけたら幸いです。 宜しくお願いします。
- 締切済み
- Access(アクセス)
- crabcancer
- 回答数3
- アクセスレポートにおける連番表記について
アクセス2010を使用しています。 テーブル(T_テスト)には点数フィールドがあり、点数が入っている場合と入っていない場合があります。 このテーブルを基にしたレポート(R_テスト)において、点数が入力されているものだけを表記なるようにし、さらに連番を表記したいと考えております。 クエリで点数が入っているもののみ抽出して、このクエリを基にレポートを作成すれば簡単にできますが、諸事情によりクエリを使用せずにレポートを作成したいと考えております。 【テーブル名:T_テスト】 番号 氏名 点数 1 あああ 10 2 いいい 5 3 ううう 4 えええ 5 おおお 7 6 かかか 5 7 ききき 8 くくく 8 9 けけけ 10 10 こここ 【レポート名:R_テスト】 番号 氏名 点数 連番 1 あああ 10 1 2 いいい 5 2 5 おおお 7 3 6 かかか 5 4 8 くくく 8 5 9 けけけ 10 6 このような形のレポートを想定しています。 ご教示のほど、どうぞよろしくお願いいたします。
- ベストアンサー
- Access(アクセス)
- ankle
- 回答数2
- アクセスで重複レコードについて
御指導宜しくお願い致します。 アクセスのレポートで、下記の様なレポートが、できました。 あ い a 40 b 30 b 30 c 12 d 12 e 6 ーーーー 100 あ は、「重複レコードを表示しない」でbが消えますが、い に、「重複レコードを表示しない」を適用すると、eの、12が消えてしまいます。どうしたらいいでしょうか。前期高齢者が、苦戦中です。 宜しくお願い致します。
- ベストアンサー
- Access(アクセス)
- siyan
- 回答数2
- アクセスUNIONクエリでの文字切れについて
アクセス2010を使用しています。 UNIONクエリで結合した時に、文字数が255文字で切れてしまう回避方法をお教え願います。 リンクテーブルとして、エクセルファイル5個とリンクしています。 この5個のリンクテーブルをUNIONクエリで一つのデータにしました。 リンク元となるエクセルファイルの中に「内容」セルがあり、このセルの中には100文字から500文字まで入力してあります。 UNIONクエリで結合すると文字が255文字で切れてしまうため、これの回避方法をお教え願います。 リンクしてあるエクセルファイルはこの例で5個ですが、実際は20個ほどあり、一つのエクセルファイルに500件ほど入力されています。 「内容」の項目をメモ型で結合できれば回避できそうですが、UNIONクエリでデータ型を指定できるのでしょうか。 インターネットで調べましたが分かりませんでしたので、どうぞよろしくお願いします。 【このような感じで結合しています】 SELECT 氏名,年齢,内容 from T_01 UNION SELECT * from T_02 UNION SELECT * from T_03 UNION SELECT * from T_04 UNION SELECT * from T_05;
- ベストアンサー
- Access(アクセス)
- ankle
- 回答数16
- Access 2003 暗号化はどこで設定するか?
Access2003です。開くときのパスワードと、データそのものを暗号化する設定のメニューがどこにあるのかわかりません。ご指導をお願いします。
- ベストアンサー
- Access(アクセス)
- Jkl25
- 回答数1
- 【Access】テーブル上で在籍年数を出したい
数日前にAccessを学び始めたド初心者です。ご容赦ください。 現在、会社の職員情報をまとめたデータを作っているのですが、テーブル上で勤続年数(〇年〇ヶ月)を表示させたいと考えています。 ちなみに既にクエリを使用して勤続年数を出すことは成功しているのですが、どうしてもテーブル上で勤続年数を計算することができません。 ・テーブル上で勤続年数(〇年〇ヶ月)を出す方法 もしくは ・クエリで表示させた勤続年数をテーブル上に出す方法 を教えていただけますと幸いです。よろしくお願いいたします。
- ベストアンサー
- Access(アクセス)
- kaisyain_tk
- 回答数4
- Access のレポートで印刷されない項目がある
access2019を使用しています。 請求書にインボイス番号を追加しました。 マクロでプレビューを指定して確認して印刷を指定すると 正しくプリントされます。 しかしマクロで最初から印刷を指定して出力すると 該当部分がプリントされません。 reportでは読み込み時にイベントプロシージャーで Set .oRS = OpenRecordset("基本情報マスター",dbOpenDynaset) Me.登録番号.Value = oRS("登録番号").Value Me.税率.Value = oRS("消費税率").Value としています。 プレビュー経由で印刷すれば出力可能なのですが、 できればその手間がない方がいいです。 対処方法をご教授いただければありがたいです。 よろしくお願いいたします。
- ベストアンサー
- Access(アクセス)
- crabcancer
- 回答数3
- AccessVBAでCSVファイルへ接続する方法
AccessVBAでCSVファイルへ接続したいのですが 64ビットパソコンの場合は「Provider」は何を設定すればいいのか分からず 困っています。 私の持っているテキストでは32ビットパソコンの場合は 次のコードで接続できます。 このコードのProviderだけ64ビットのものに変更すればいいと思うのですが、いかがでしょうか。 -------------------------------------------------------------------------- Dim CN As ADODB.Connection Dim RS As ADODB.Recordset Dim MyPath As String MyPath = CurrentProject.Path & "\" Set CN = New ADODB.Connection CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ ”Data Source=" & MyPath & ";" & _ "Extended Properties='Text;HDR=NO'" Set RS = CN.Execute("SELECT * FROM test.csv") ------------------------------------------------------------------------------ 教えてください。 宜しくお願い致します。
- ベストアンサー
- Access(アクセス)
- blue-and-blue
- 回答数4
- テーブル定義で消費税率の書式
お世話になります。 テーブル定義で消費税率を追加中ですが 添付図のように選択子がリストされますがこの先へ
- ベストアンサー
- Access(アクセス)
- chayamati
- 回答数2
- access ふたつのテーブル間でのデータ移動VB
win10 office365 accessのテーブルの table1のフィールド IDの数値を table2のフィールド ID (いずれも長整数型 数値型 重複あり 空白の許容なし) にコピーする操作ですが 幾度か お尋ねしてきていますが 今回 このやり方で やってみました http://www.mahoutsukaino.com/ac/ac2002/vba/vba16/v16.htm 以下のコードにおいて rs2.Update ここの部分が黄色くなって とまってしまいます しかし なぜか 数値の移行は 出来ていました ただ止まってしまうと 次に続けられなく困っています Public Function table2table1() Dim cn As adodb.Connection Dim rs1 As adodb.Recordset Dim rs2 As adodb.Recordset Set cn = Application.CurrentProject.Connection Set rs1 = New adodb.Recordset Set rs2 = New adodb.Recordset rs1.Open "table1", cn, adOpenStatic, adLockReadOnly rs2.Open "table2", cn, adOpenKeyset, adLockOptimistic rs1.MoveFirst Do Until rs1.EOF rs2.Find "ID='" & rs1!ID & "'" If rs2.EOF Then rs2.AddNew rs2![ID] = rs1![ID] rs2.Update End If rs1.movenext Loop rs1.Close rs2.Close cn.Close End Function 以上 すみません 宜しくお願い致します
- ベストアンサー
- Access(アクセス)
- sushidokei
- 回答数3
- データベース履歴の名前を変更したくない
Accessの勉強中でデータベース初心者の者です。 例えば商品テーブルがあって、商品購入履歴テーブルがあったとします。この2つは商品IDでリレーションが組んであるとします。 疑問なのは、商品名を一部修正したら、商品購入履歴の商品名まで変更になってしまうのですが、既に購入された商品は名前を変更させたくない。といった場合、どのような対応方法があるでしょうか?
- ベストアンサー
- Access(アクセス)
- yamanokaeru3
- 回答数12
- Access マスタ登録の流れについて
Access初学者です。 マスタテーブルとトランジションテーブルがあり、業務の流れが新規のデータがトランジションテーブルから判明します。そこでトランジションテーブルに新規データが入力された場合、マスタテーブルに入力を促すような処理を設定したいのですがどうすればいいでしょうか? 動画等を検索するのに、検索キーワード等を教えて頂けると助かります。
- ベストアンサー
- Access(アクセス)
- dogspapa
- 回答数3
- 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(アクセス)
- sushidokei
- 回答数2
- アクセステーブルがあれば削除VBA
win10 office365 access365におきまして テーブル この例ではTMPがあれば テーブルそのものを削除し (ですから削除クエリを使うこととは違うと思いましたが) はじめから存在しないときは次のコードに進む ということでほかの記事を参考に作ってみたのが Public Function tmpdelete() If funcTableExists("T_TMP") = True Then DoCmd.DeleteObject acTable, "T_TMP" End If End Function ----------------------- そもそもfuncTableExistsというのは 付属の関数ではないのかなと調べまして ----------------------- Private Function funcTableExists(ByVal strTableName As String) As Boolean Dim db As Database Dim tdf As TableDef Set db = CurrentDb For Each tdf In db.TableDefs If (T_TMP= strTableName) Then funcTableExist = True Exit Function End If Next tdf Set tdf = Nothing db.Close Set db = Nothing End Function --------------------- If (T_TMP= strTableName) Then ここに削除判定の対象のテーブル名を入れましたが 上記いずれも 作動しません マクロのプロシージャで組み入れたいので subでばく functionで書くようにとありましたので 上記のようにしました また すみません 宜しくお願い致します
- ベストアンサー
- Access(アクセス)
- sushidokei
- 回答数2
- アクセス テーブルデータ他のテーブルにコピーVBA
win10 access365のmdbファイルにおいて table1のフィールド1がID 数値型 長整数型 値要求あり 重複あり フィールド2が氏名 短いテキスト型 225 値要求なし 重複あり table2;フィールド1がID 数値型 長整数型 値要求あり 重複あり フィールド2が氏名 短いテキスト型 225 値要求なし 重複あり 上記に置いて table2の新しいデータとして table1のデータをコピーしたい、 ただしtable1には レコードは1行だけとします (table1にレコードが複数行ある場合の最新レコードだけtable2にコピーも出来れば知りたいです) アクセス付属の更新クエリーでは、どうも うまくいきません sqlにおいて UPDATE table1, table2 SET table2.ID = [table1]![ID], table2.氏名 = [table1]![氏名]; 上記動作しません Function table1から2() Dim db As DAO.Database Dim rst As Recordset Dim TB As Table Dim Rdset As Recordset On Error Resume Next Set db = DBEngine(0)(0) Set Rdset = db.OpenRecordset("table2", DB_OPEN_TABLE) Rdset.AddNew Rdset![ID] = Table![table1]![ID] Rdset![氏名] = Table![table1]![氏名] Rdset.Update End Function table1, table2を それぞれ 同名のフォームを作り Function table1から2() Dim db As DAO.Database Dim rst As Recordset Dim fm As Form Dim Rdset As Recordset On Error Resume Next Set db = DBEngine(0)(0) Set fm = Forms![table1] If Rdset.BOF Then Exit Function Else Set Rdset = db.OpenRecordset("table2", DB_OPEN_TABLE) Rdset.AddNew Rdset![ID] = Forms![table1]![ID] Rdset![氏名] = Forms![table1]![氏名] Rdset.Update End If End Function いずれも table2のデータ更新が なされていません すみません 宜しくお願い致します
- ベストアンサー
- Access(アクセス)
- sushidokei
- 回答数1
- accessテーブルの数値をエクセルセルに移VBA
accessファイルの abc.mdbのtable1のフィールド1のIDの数値を 現在開いているエクセルファイル Q.xlsxの A2セルに移行したいのですが エクセルのVBAにおいて Sub IDエクセルへ移行() ' 'Dim myCon As New ADODB.Connection Dim myRecordSet As New ADODB.Recordset Dim mySQL As String Dim dbFile As Variant Dim mySheetName As Variant Dim i As Integer dbFile = "C:\Users\USER\Desktop\ABC\abc.mdb" myCon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & dbFile & "" myCon.Open mySQL = "SELECT * FROM table1" myRecordSet.Open mySQL, myCon, adOpenDynamic mySheetName = ActiveSheet.Name With Worksheets(mySheetName) .Cells(1, 2).Value = myRecordSet!ID End With myRecordSet.Close Set myRecordSet = Nothing myCon.Close Set myCon = Nothing ' ' ActiveWorkbook.Save End Sub ------------- 上記を実行すると objectがありません と myCon.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & dbFile & "" ここの部分が黄色くなってしまいます ここが さっぱり意味不明です すみません 宜しくお願い致します Microsoft ActiveX Data Objects 2.8 Library 6.1も 参照設定で チェックを入れました win10 office365
- 締切済み
- Access(アクセス)
- sushidokei
- 回答数6
- accessテーブル検索 エクセルのセルデータから
エクセルファイル M.xlsxの セルA1(氏名)=やまだやまよ B1(生年月日)=1980/3/15 という ひらがなの氏名があるとします access H.mdbというファイルのなかの テーブルTにおいて フィールド1=氏名 フィールド2=生年月日 フィールド3=ID のテーブルがあり このテーブルTに 上記エクセルのA1の氏名が あるかどうか このケースですと やまだやまよ が このテーブルTのフィールド1の行にあるかどうか これを調べるVBAのコードを 知りたいのですが、 検索ワードが M.xlsxのセルA1 という定義でコードを御教示ください 氏名で一致したデータがあるときに そのデータのフィールド2の生年月日でもB1のデータと一致するかを 続けて検索するとします ここまでの動作のコードを 御教示願えたら 助かります 宜しくお願い致します win10 office365
- 締切済み
- Access(アクセス)
- sushidokei
- 回答数7