Access VBA質問箱 IV

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

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


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

【11110】あれれ??
質問  hiro  - 09/4/28(火) 9:16 -

引用なし
パスワード
   ▼小僧 さん:
昨日は、ありがとうございます。

昨日してみたのですが、グループNoのデーター型は、数値型で良いのでしょうか?私の仕方が間違っているようですが、項目が出なく、ナンバーしか出ないのですが・・・(うーん)

あとエラーが出て数値型のフィールドに文字列が入力されてると出ました。
・ツリー全体表示

【11109】Unknown
質問  ellaelax-gd  - 09/4/28(火) 1:17 -

引用なし
パスワード
  
・ツリー全体表示

【11108】一括更新時の連番の振り方
質問  マリア  - 09/4/27(月) 23:48 -

引用なし
パスワード
   データを一括更新する際に続きの番号を自動で取得したいのですがテーブルにオートナンバーで設定すると、そのデータを一括削除するとまた1から振りなおされてしまいます。番号は重複させたくありません。
また、同じ手順を繰り返し使用しますので前回の番号にプラス1でつけさせたいのですがモジュールの設定が必要でしょうか?その際どのように記述すればいよいでしょうか?是非、お教えくださいますようお願いいたします。
・ツリー全体表示

【11107】Re:年度設定について
お礼  ポンプ  - 09/4/27(月) 16:08 -

引用なし
パスワード
   ▼小僧 さん:
こんにちは。
ご返事ありがとうございます。
参考にさせて頂きます。

>▼ポンプ さん:
>こんにちは。
>
>ご投稿された内容だけですと、
>やりたい事がいまいち見えてこないのですが…。
>
>単純に3ヶ月前の日付を求めたい、というのであれば
>DateAdd関数を調べてみてください。
>
>
>また、年度設定というテーブルが
>1レコードのみであれば気にする必要がないのですが
>
>Office Online
>DFirst、DLast 関数
>h tp://office.microsoft.com/ja-jp/access/HA012288231041.aspx
>
>DFirst関数は必ずしも同じレコードを返すとは限らないのでご注意下さい。
・ツリー全体表示

【11106】やってみます
お礼  hiro  - 09/4/27(月) 15:54 -

引用なし
パスワード
   私以外使用する者がいないと思うので、テーブルで設定してみます。
いまいちリレーションの使用が良く分かっていないようで、
Tグループのグループ名を変えたら、T担当のグループ名も変えたいように
したいので・・・・。

ありがとうございました。
・ツリー全体表示

【11105】年度設定について(再)
質問  ポンプ  - 09/4/27(月) 15:00 -

引用なし
パスワード
   Pumblic Function Denst() As Date
 '伝票入力開始日付を設定
 DenSt = CVDate(DFirst("処理年度" , "年度設定") & "/01/01")
End Function

Pumblic Function DenEn() As Date
 '伝票入力開始日付を設定
 DenEn = CVDate(DFirst("処理年度" , "年度設定") & "/12/31")
End Function

年度設定は「2008」

とすると・・・開始日が2008年1月1日になります。
       終了日が2008年12月31日になります。

開始日が2007年10月1日で終了日が2008年9月30日に
するのはどうしたら良いでしょうか?
・ツリー全体表示

【11104】Re:テキスト型から数値型への変換
回答  小僧  - 09/4/27(月) 14:47 -

引用なし
パスワード
   ▼sim さん:
こんにちは。

まず、画面上部の

>本サイトの基本方針をまとめました。こちら をご一読ください。

の こちら のリンク先をお読みになって下さい。

> してはいけない質問について

の 丸投げに相当していませんか?


>一時的に変換する方法はありますか?

一時的、の使い方が大変気になるのですが…。

以下はデータを変更する事になるため、
必ずバックアップは別にとってから行って下さい。


更新クエリを使った方法です。

テキスト型→数値型
UPDATE テーブル名 SET フィールド名 = CInt([フィールド名]);

数値型→テキスト型
UPDATE テーブル名 SET フィールド名 = Format([フィールド名],"00");

値だけ変えているため、データ型は変えておりません。
・ツリー全体表示

【11103】Re:リンクテーブルファイルパスの文字数
発言  小僧  - 09/4/27(月) 14:34 -

引用なし
パスワード
   ▼ひろのしま さん、雅さん:
こんにちは。

行間から察してくれ、という事もあるかもしれませんが、
いくつか確認をさせて下さい。

> 118文字(まだ確定できません)あたりで
文字数が原因という所までの事象切り分けはお済みなのでしょうか?

環境面は

PC_A:WinXP Home
PC_B:WinXP Pro
Server_A:Win2003Server

などという環境で、Server_Aに Data.mdb を共用し、
各クライアントに Data.mdb があるいう認識でよろしいでしょうか?

それとも PC_A 内、PC_B内にそれぞれ Data.mdb、Form.mdb を持っていて
まったく切り離された環境で起きているのでしょうか。


またローカルPC側でも

デスクトップ上(ファイルパス118文字以上)だと失敗するけど
D直下だと成功する、の様な事象でしたら
デスクトップのフォルダ権限が疑しい、などとなります。


現在ご提示されている情報だけですと
色々な原因が考えられるため、もうちょっと詳細な情報があると
回答がつきやすくなるかもしれません。


> 118文字

当方の知っている限りでは118文字という数字で
バグが潜んでいるという話はちょっと聞いた事がないです。

潜在的なバグである場合、2の累乗(128,256,1024など)が起因している事が多いので
・strSQL の文字列
・ファイル名までを含むパス名
・ファイル名を含まない純粋なパス名
・……

等等、上記の数字に近いものがあればバグの情報が見つかるかもしれません。
(事象も再現させやすくなりますね)
・ツリー全体表示

【11102】テキスト型から数値型への変換
質問  sim  - 09/4/27(月) 14:21 -

引用なし
パスワード
   お世話になります。
すでにテーブルの中の数値をテキスト型で作っているのですが、
それを数値型に一時的に変換する方法はありますか?更新クエリ
等を使って。すみませんが宜しくお願いします。

例 
変換 01→ 1
   02→ 2
     .
     .
   10→10
     .
     .
変換  1→01
    2→02
     .
     .
    10→10
     .
     .

といった具合です。
・ツリー全体表示

【11101】Re:テーブル間のリレーションかな?
回答  小僧  - 09/4/27(月) 14:11 -

引用なし
パスワード
   ▼hiro さん:
こんにちは。

>T担当者のグループNOに番号を入れたら

この操作はどうやる事を想定されておりますか?


Accessを使う場合、データの投入や変更を
作成者以外の方にやって頂く場合はフォームを作って
その中で操作して頂くのが一般的です。

その場合には、まずレコードソースが T担当者 のフォームを作成し、
コンボボックスを以下のように配置します。

[データ]タブ
コントロールソース:グループNO
値集合タイプ:テーブル/クエリ
値集合ソース: Tグループ

[書式]タブ
列数:2
列幅:1cm;2cm(コンボボックスの幅によって適宜変更)

左の列幅を0cmに設定するとグループNOを見せなくする事も可能です。


hiro さんご自身がテーブル上で同じ事を行いたい、というのであれば
T担当者 テーブルをデザインビューで開き、グループNOの項目を選択、

[ルックアップ]タブ
表示コントロール:コンボボックス

以下フォームの操作と同じ。


で行うことは可能です。
・ツリー全体表示

【11100】Re:年度設定について
発言  小僧  - 09/4/27(月) 13:54 -

引用なし
パスワード
   ▼ポンプ さん:
こんにちは。

ご投稿された内容だけですと、
やりたい事がいまいち見えてこないのですが…。

単純に3ヶ月前の日付を求めたい、というのであれば
DateAdd関数を調べてみてください。


また、年度設定というテーブルが
1レコードのみであれば気にする必要がないのですが

Office Online
DFirst、DLast 関数
h tp://office.microsoft.com/ja-jp/access/HA012288231041.aspx

DFirst関数は必ずしも同じレコードを返すとは限らないのでご注意下さい。
・ツリー全体表示

【11099】テーブル間のリレーションかな?
質問  hiro  - 09/4/27(月) 11:28 -

引用なし
パスワード
   Access初心者なので、宜しくお願います。
2つのTグループとT担当者と言うテーブルを作りました。
Tグループには、グループNoとグループ名のフィールド、T担当者にもそのフィールドを作りましたが、T担当者のグループNOに番号を入れたら、Tグループのグループ名が自動的に出る方法って、どのようなものなのでしょうか?

コンボボックスで設定するんですよね?
・ツリー全体表示

【11098】年度設定について
質問  ポンプ  - 09/4/27(月) 11:12 -

引用なし
パスワード
   Pumblic Function Denst() As Date
 '伝票入力開始日付を設定
 DenSt = CVDate(DFirst("処理年度" , "年度設定") & "/01/01")
End Function

年度設定は「2008」

とすると・・・開始日が2008年1月1日になります。

開始日が2007年10月1日にするのはどうしたら良いでしょうか?
・ツリー全体表示

【11097】Re:リンクテーブルファイルパスの文字数
発言  ひろのしま E-MAIL  - 09/4/25(土) 22:02 -

引用なし
パスワード
   1.表示される文章:問題が発生したため、Microsoft Access を終了します。 ご不便をおかけして申し訳ありません。
この文章は、リンクテーブルを通常起動するときに表示されます。

2.-2147418113:致命的なエラーです。
これは、下記の関数を使用している時の次の位置で表示されます。

Public Function gfncSQLStrGetValue(strTBLName As String, strPrmID As String, Optional strWhere As String, Optional strOrder As String) As String
  Dim strSQL As String
  Dim gobjCnc As New ADODB.Connection
  Dim gobjRst As New ADODB.Recordset
'On Error GoTo Err_Trap
  gfncSQLStrGetValue = ""
  If gobjCnc.ConnectionString = "" Then
    Set gobjCnc = CurrentProject.Connection
  End If
  strSQL = strSQL & "select " & strPrmID & " As GetValue from " & strTBLName & ""
  
  If Not IsNull(strWhere) And strWhere <> "" Then
    strSQL = strSQL & " where " & strWhere & ""
  End If
  If Not IsNull(strOrder) And strOrder <> "" Then
    strSQL = strSQL & " Order By " & strOrder & ""
  End If
  '--------------この位置↓↓↓↓↓--------------
  Call gobjRst.Open(strSQL, gobjCnc, adOpenKeyset, adLockOptimistic)
  '--------------この位置↑↑↑↑↑--------------
  If gobjRst.RecordCount >= 1 Then
    Call gobjRst.MoveFirst
    gfncSQLStrGetValue = Nz(gobjRst![GetValue])
  Else
    gfncSQLStrGetValue = 0
  End If
  Call gobjRst.Close
Exit_Trap:
  Exit Function
Err_Trap:
  Call gobjCnc.Close
  Call MsgBox(Err.Number, Err.Description)
  GoTo Exit_Trap
End Function

原因がわからないので、応急処置で済ませています。
よろしくお願いします。

▼雅 さん:
>こんにちわ。雅です。
>
>>Windows XP Professionalで使用している際に、
>>リンクテーブルのファイルパス(D:\Documents and Settings\PC名\デスクトップ\〜Data.mdb)とファイルを指定した際、118文字(まだ確定できません)あたりで
>>クライアンド側からテーブルを起動した際に何故か以上終了をしてしまいます。
>>この現象がWindows XP HomeEdition使用の際には起きないのです。
>>原因がまったく分かりません。
>
>異常終了するときにメッセージなどは出ないのでしょうか?
>出るならその詳細を書いてください。
>
>でわ。
・ツリー全体表示

【11096】Re:日付ごとの連番
お礼  そよ風  - 09/4/24(金) 11:30 -

引用なし
パスワード
   ▼雅 さん:
>こんにちわ。雅です。
>
>>SELECT
>>  ID,
>>  日付,
>  IIf([テーブル名].[数字] Is Not Null,[テーブル名].[数字],
>>  (
>>    SELECT
>>      COUNT(*)+1 AS 件数
>>    FROM
>>      テーブル名 AS W_テーブル名
>>    WHERE
>>      日付=テーブル名.日付 AND
>>      ID<テーブル名.ID
>  )) AS 数字
>>FROM
>>  テーブル名
>
>でどうでしょうか?
>
>でわ。

お手数をおかけしました。
一時はあきらめかけましたが完成いたしました。
有難うございます。
・ツリー全体表示

【11095】Re:日付ごとの連番
回答    - 09/4/23(木) 15:13 -

引用なし
パスワード
   こんにちわ。雅です。

>SELECT
>  ID,
>  日付,
  IIf([テーブル名].[数字] Is Not Null,[テーブル名].[数字],
>  (
>    SELECT
>      COUNT(*)+1 AS 件数
>    FROM
>      テーブル名 AS W_テーブル名
>    WHERE
>      日付=テーブル名.日付 AND
>      ID<テーブル名.ID
  )) AS 数字
>FROM
>  テーブル名

でどうでしょうか?

でわ。
・ツリー全体表示

【11094】Re:日付ごとの連番
質問  そよ風  - 09/4/23(木) 14:14 -

引用なし
パスワード
   ▼雅 さん:
>こんにちわ。雅です。
>
>>上記式をSQLへ挿入してみたのですが、下記コメントが出てしまいます。
>>今一度アドバイスをお願いいたします。
>>「SELECT ステートメントが間違っている予約語や引数を含んでいるか区切り記号が正しくありません」
>
>どのように記述しましたか?
>ヘルプは見ましたか?
>
>でわ。
ヘルプで調べてみたのですがよく分かりませんでした。
下記コードの記載いたしました。
SELECT
  ID,
  日付,
  (
    SELECT
      COUNT(*)+1 AS 件数
    FROM
      テーブル名 AS W_テーブル名
    WHERE
      日付=テーブル名.日付 AND
      ID<テーブル名.ID
  ) AS 数字
IIf([数字] Is Not Null,[数字],(SELECT〜省略〜))AS 数字←追加
FROM
  テーブル名

何度も申し訳ありません。
宜しくお願いいたします。
・ツリー全体表示

【11093】Re:日付ごとの連番
質問    - 09/4/23(木) 13:11 -

引用なし
パスワード
   こんにちわ。雅です。

>上記式をSQLへ挿入してみたのですが、下記コメントが出てしまいます。
>今一度アドバイスをお願いいたします。
>「SELECT ステートメントが間違っている予約語や引数を含んでいるか区切り記号が正しくありません」

どのように記述しましたか?
ヘルプは見ましたか?

でわ。
・ツリー全体表示

【11092】Re:日付ごとの連番
質問  そよ風  - 09/4/22(水) 9:52 -

引用なし
パスワード
   ▼雅 さん:
>こんにちわ。雅です。
>
>IIf([数字] Is Not Null,[数字],(SELECT 〜省略〜)) AS 数字
>でどうですか?
>
>では。
ご回答有難うございます。
上記式をSQLへ挿入してみたのですが、下記コメントが出てしまいます。
今一度アドバイスをお願いいたします。
「SELECT ステートメントが間違っている予約語や引数を含んでいるか区切り記号が正しくありません」
宜しくお願いいたします。
・ツリー全体表示

【11091】Re:VBAコードの意味はわからない?
お礼  Akaishi  - 09/4/21(火) 20:53 -

引用なし
パスワード
   超初心者さん

>http://home.att.ne.jp/zeta/gen/excel/c04p43.htm
参考させていただきました。
この要領で内部処理の確認ができましたので、
ありがとうございました。
・ツリー全体表示

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