Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


455 / 500 ページ ←次へ | 前へ→

【4061】Re:ADOでのUPDATEメソッドについ...
お礼  はいりたて  - 04/12/22(水) 17:53 -

引用なし
パスワード
   ▼MJ さん:
>こんにちは。
>
>−以下、ヘルプより抜粋−
>
>Update メソッドを呼び出す前に、
>追加または編集を行っているレコードから移動すると、
>自動的に Update が呼び出され、変更が保存されます。
>カレント レコードに加えた変更をキャンセルする場合、
>または新しく追加したレコードを破棄する場合は、
>CancelUpdate メソッドを呼び出す必要があります。
>
>とは、なっていますが、
>明示的に宣言した方がいいとは思います。

ありがとうございます。
編集したレコードから移動した時にUPDATEが発行されていたんですね。
納得しました。
・ツリー全体表示

【4060】Re:ADOでのUPDATEメソッドについ...
回答  MJ  - 04/12/22(水) 17:08 -

引用なし
パスワード
   こんにちは。

−以下、ヘルプより抜粋−

Update メソッドを呼び出す前に、
追加または編集を行っているレコードから移動すると、
自動的に Update が呼び出され、変更が保存されます。
カレント レコードに加えた変更をキャンセルする場合、
または新しく追加したレコードを破棄する場合は、
CancelUpdate メソッドを呼び出す必要があります。

とは、なっていますが、
明示的に宣言した方がいいとは思います。
・ツリー全体表示

【4059】ADOでのUPDATEメソッドについて
質問  はいりたて  - 04/12/22(水) 16:05 -

引用なし
パスワード
   この度ACCESSの作業を引継ぐことになりました。
早速質問です。
テーブルを更新しているのですが、UPDATEメソッドがなくても
テーブルが更新されています。いろいろ調べたのですが、
UPDATEメソッドは省略できるのでしょうか?
よろしくお願いします。

rs.Open "SELECT * FROM 実績ファイル", cn, adOpenKeyset, adLockOptimistic
Do Until rs.EOF = True
  If rs.Fields("前年売上金額").Value <> 0 Then rs.Fields("売上伸び率").Value = (rs.Fields("当月売上金額").Value / rs.Fields("前年売上金額").Value) * 100
  rs.MoveNext
Loop

rs.Close
・ツリー全体表示

【4058】Re:2ヶ月後までの指定した曜日を取得する...
お礼  morik  - 04/12/22(水) 16:05 -

引用なし
パスワード
   ▼MJ さん:

ありがとうございました。

早速教えていただいたソースを実行しましたところ実現することができました。

何度も親切に教えていただきありがとうございました。
・ツリー全体表示

【4057】Re:2ヶ月後までの指定した曜日を取得する...
回答  MJ  - 04/12/22(水) 13:11 -

引用なし
パスワード
   以下のような感じでは如何ですか。

  Dim strListDay As String
  Dim datEndDate As Date, datDate As Date
  Dim intOffset As Integer, intWeek As Integer
  
  datEndDate = DateAdd("m", 2, Date)
  intOffset = Abs((10 - Weekday(Date)) Mod 7)
  
  Do
    datDate = Date + intOffset + 7 * intWeek
    
    If datEndDate < datDate Then Exit Do
    
    strListDay = strListDay & Format(datDate, "yyyy/mm/dd") & ";"
    
    datDate = datDate + 1
    
    If datEndDate < datDate Then Exit Do
    
    strListDay = strListDay & Format(datDate, "yyyy/mm/dd") & ";"
    
    intWeek = intWeek + 1
  Loop
  
  [コンボ].RowSource = strListDay
・ツリー全体表示

【4056】Re:リストボックスについて
お礼  t.s  - 04/12/22(水) 13:00 -

引用なし
パスワード
   ▼Gin_II さん:
>>リストボックスにテーブルの値をそのまま表示させています。
>>そのテーブルの中のある条件にあてはまる行だけを色を変えて表示させたいのですが、
>
>リストボックスではムリだと思います。
>Access2000以上なら、条件付書式機能がありますので、サブフォームを
>使えば可能でしょうけど、Access97ではそれも難しいですね。
>
>一応、方法はあると思いますが。。
>Google等で、
>Access97 条件付書式
>なんかをキーワードに検索してみてください。


早速のお答えありがとうございます。
検索して頑張ってみます。よい方法を見つけたらまた報告します。
・ツリー全体表示

【4055】Re:リストボックスについて
回答  Gin_II  - 04/12/22(水) 11:54 -

引用なし
パスワード
   >リストボックスにテーブルの値をそのまま表示させています。
>そのテーブルの中のある条件にあてはまる行だけを色を変えて表示させたいのですが、

リストボックスではムリだと思います。
Access2000以上なら、条件付書式機能がありますので、サブフォームを
使えば可能でしょうけど、Access97ではそれも難しいですね。

一応、方法はあると思いますが。。
Google等で、
Access97 条件付書式
なんかをキーワードに検索してみてください。
・ツリー全体表示

【4054】Re:2ヶ月後までの指定した曜日を取得する...
質問  morik  - 04/12/22(水) 10:40 -

引用なし
パスワード
   ▼MJ さん:

何度も質問してすみません。
やはりソースの書き方がわからず、いろんなところを調べた結果以下のサイトより曜日を返す方法を見つけました。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpdnofftalk/htm/office04062000.asp

しかし、この方法だと一つの曜日しか返されず、今回のように火曜と水曜を返す方法が思い浮かびません。

先ほどのサイトのソースから二つの曜日を返すことは可能なのでしょうか?
よろしくお願い致します。


Function ListDays(fld As Control, id As Variant, Row As Variant, col As Variant, code As Variant) As Variant

  Dim intOffset As Integer
  Dim varRetVal As Variant
 
  Select Case code
   Case acLBInitialize
     varRetVal = True
   Case acLBOpen
     varRetVal = Timer
   Case acLBGetRowCount
     varRetVal = 8
   Case acLBGetColumnCount
     varRetVal = 1
   Case acLBGetColumnWidth
     varRetVal = -1
   Case acLBGetValue
    intOffset = Abs((10 - WeekDay(Now)) Mod 7)
     varRetVal = Format(Now() + intOffset + 7 _
      * Row, "YYYYMMDD")
   Case acLBGetFormat
   Case acLBEnd
  End Select
  ListDays = varRetVal
End Function
・ツリー全体表示

【4053】リストボックスについて
質問  t.s  - 04/12/22(水) 10:03 -

引用なし
パスワード
   初めて投稿します。

OSはWIN2000,Accessは97です。

リストボックスにテーブルの値をそのまま表示させています。
そのテーブルの中のある条件にあてはまる行だけを色を変えて表示させたいのですが、
うまくいきません。

これは不可能なのでしょうか?

なにかできる方法がありましたらご指導よろしくお願いします。
・ツリー全体表示

【4052】Re:データコピー中の操作について
回答  かろちん  - 04/12/21(火) 21:30 -

引用なし
パスワード
   ヨヨー さん こんばんは

>そのコピー処理中にmdbへの書込み、参照をする次の作業が動いた場合、
>WIN2000の環境では、mdbを開く時点でエラーが出てしまいます。

 逆に書き込み中にコピーできたとして、そのデータの
 保証はできるのでしょうか?
 バックアップのためにコピーしているのに、退避先の
 MDBが壊れていたり、データの保証ができなかったら
 何のためのバックアップなのでしょう。

 使用していないときに、バックアップを取る方法を
 考えられた方が良いと思います。
・ツリー全体表示

【4051】データコピー中の操作について
質問  ヨヨー  - 04/12/21(火) 20:46 -

引用なし
パスワード
   初めて投稿させていただきます。

OSはWIN2000,Accessは97です
現在VBAで複数のプログラムを使っているソフトを使っているのですが、

mdbファイルのバックアップとして、作業ごとに別のネットワーク上の
パソコンにコピーをしています。

mdbファイルは大き目のために、コピー処理に時間がかかっています。
そのコピー処理中にmdbへの書込み、参照をする次の作業が動いた場合、
WIN2000の環境では、mdbを開く時点でエラーが出てしまいます。

WIN98環境では動いたことから、WIN2000の制限によるものだとは思うのですが・・
コピー中の作業に関しては、あまり良くない行動だとは思うのですが、
もし通る方法がありましたら、ご指南宜しくお願いいたします。
・ツリー全体表示

【4050】Re:2ヶ月後までの指定した曜日を取得する...
回答  MJ  - 04/12/21(火) 16:33 -

引用なし
パスワード
   どのようなロジックなのか不明ですが、
値リストの場合は、文字列結合(&)を用いて、
値集合ソースにセットされればよろしいかと。

'値集合ソースの初期化
[コンボ].RowSource = ""
'値集合ソースの編集
[コンボ].RowSource = [コンボ].RowSource & 日付変数名 & ";"

というような感じでしょうか。
・ツリー全体表示

【4049】Re:2ヶ月後までの指定した曜日を取得する...
質問  morik  - 04/12/21(火) 13:58 -

引用なし
パスワード
   ▼MJ さん:
返信ありがとうございます。

MJさんから回答いただいた、
>値集合ソースには、;区切りで、値をセット
ですが、WeekDay関数を調べて対象曜日のデータの抽出したあと値集合ソースに値をセットする方法がわかりません。

抽出したデータを一度何かの変数などに代入しないといけないのでしょうか?

よろしくお願い致します。
・ツリー全体表示

【4048】Re:2ヶ月後までの指定した曜日を取得する...
回答  MJ  - 04/12/21(火) 13:21 -

引用なし
パスワード
   こんにちは。

コンボの値集合タイプを値リストにして、
値集合ソースには、;区切りで、値をセットされては?
・ツリー全体表示

【4047】Re:2ヶ月後までの指定した曜日を取得する...
質問  morik  - 04/12/21(火) 13:15 -

引用なし
パスワード
   ▼かろちん さん:
返信ありがとうございます。

WeekDay関数を調べて対象曜日のデータの抽出はできたのですが、抽出したデータを
コンボボックスのプルダウンにてデータを表示する方法がわかりません。

初歩的な質問ばかりで申し訳ございませんが、対策法がありましたらご教授お願い致します。
・ツリー全体表示

【4046】Re:2ヶ月後までの指定した曜日を取得する...
回答  かろちん  - 04/12/20(月) 23:44 -

引用なし
パスワード
   こんばんは

>現在、テキスト型で日付をYYYY/MM/DD形式で入力しているのですが、
>これをコンボボックスでプルダウンをすると現在の日付より2ヶ月後の火曜日と水曜日が
>プルダウンに表示するようにしたいです。

2ヵ月後を計算するのはHELPで
DateAdd関数を調べてみてください。

曜日を表示するのは、Format関数を
調べてみてください。
WeekDay関数も調べてみてください。
・ツリー全体表示

【4045】Re:テキストボックスからサブフォームに追...
回答  かろちん  - 04/12/20(月) 23:40 -

引用なし
パスワード
   アツキ さん こんばんは

>8:  strSql = "INSERT INTO db1.Form_dbo_ma_receive1のサブフォーム1 (cd_kaisha) VALUES ('" & temp & "' )"

"db1.Form_dbo_ma_receive1のサブフォーム1"というテーブル名は
本当にありますか?

INSERT INTO のあとはテーブル名を指定しなければいけませんが
これは、サブフォームではないですか?
・ツリー全体表示

【4044】2ヶ月後までの指定した曜日を取得する方法
質問  morik  - 04/12/20(月) 16:41 -

引用なし
パスワード
   いつもお世話になっております。

標記の件でご質問があります。

現在、テキスト型で日付をYYYY/MM/DD形式で入力しているのですが、
これをコンボボックスでプルダウンをすると現在の日付より2ヶ月後の火曜日と水曜日が
プルダウンに表示するようにしたいです。

いろいろなDate関数を調べては見たのですが良い方法が思い浮かびません。

良い方法がございましたらご教授お願い致します。
・ツリー全体表示

【4043】Re:マージ処理
お礼  はじめちゃん  - 04/12/18(土) 10:46 -

引用なし
パスワード
   ありがとうございました。
・ツリー全体表示

【4042】Re:同じIDのデータの最大値のみを抽出する
回答  hatena  - 04/12/17(金) 18:02 -

引用なし
パスワード
   >テーブルAは植物標本の植物名を入力したものです。
>
>標本IDは、標本のIDナンバー、
>種名IDは、種名データをつけた時点で発生するIDナンバーです(植物名のIDナンバーではありません)。
>テーブルA
>標本ID 種名ID 植物名
>1234  0001   A
>1234  0002   B
>1234  0003   C
>1235  0001   A
>1235  0002   D
>1236  0001   A
>
>このとき、同じ標本IDのうち、種名IDが最大のものを抽出したいのです。
>つまり、上のテーブルからだと、、、、
>
>標本ID 種名ID 植物名
>1234  0003   C
>1235  0002   D
>1236  0001   A
>
>と言った具合です。
>
>同じIDのデータの最大値のみをクエリで出せる、、、と思っていたのですが、いかんせん、分かりません…。

種名ID の抽出条件を下記のように設定すればいいかと思います。

(SELECT Max(種名ID) FROM テーブルA AS T WHERE T.標本ID = テーブルA.標本ID)
・ツリー全体表示

455 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1084765
(SS)C-BOARD v3.8 is Free