Access2003を使用しております。
データーファイルをサーバーに置きテーブルのリンクを使い
複数の端末で作業しておりますが、途中でデータを勝手に変更されたりして困っています。
それで誰がデーターの追加や変更を行ったのかをはっきりさせる為に、テーブルのフィールドに作業した
端末のIPアドレスを自動で取得出来ないものでしょうか?
どなたか教えてください。お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

VBAに習熟されているのであれば、APIやWMIを使用して取得できるので、AUTOEXECマクロで実行し、ログテーブルか何かに書き込んでおけばよいと思います。



過去質問:VBAからIPアドレスを取得する方法を教えてください。
http://oshiete1.goo.ne.jp/qa2007402.html
    • good
    • 0
この回答へのお礼

ありがとうございました。
やはりVBですか・・・
勉強しようと思いました。

お礼日時:2009/05/27 21:20

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qワイルドカードでホームページアドレスを

ホームページのアドレスをメモしておいたのですが、どこの文字かわかりませんが間違ってしまってるみたいでアクセス出来ません。("0"or"O")や("p"or"q")等。*みたいなワイルドカードみたいな物を使って途中までのアドレスがあってるHPを探せる方法はありますか?

Aベストアンサー

無いです。
ホームページの特徴的なキーワードで google 等で検索するしか思い付かないです。

Qaccess2010 フィールド名変更し別テーブル作成 教えてください。 既存テーブル:AAA 既存

access2010 フィールド名変更し別テーブル作成








教えてください。
既存テーブル:AAA
既存フィールド:あああ

新規テーブル:BBB
新規フィールド名:かかか

AAAのレコードを変えずにテーブル名、フィールド名を変え、別テーブルとし作成するクエリが作りたいです。

SQLの文をベタに教えて頂けるとありがたいです。よろしくお願いします。

Aベストアンサー

こちらの続きということで。
https://oshiete.goo.ne.jp/qa/9534989.html

テーブル作成クエリができているなら

フィールド名「あああ」のところを
「かかか: あああ」に変えれば OK。
フィールドを「*」にしていたらできない(と思う)。

Qセルにワイルドカード*を含む式を書き込むには?

下記コードはアクティブセルの右にアクティブセルと同じ値を書き込みますが、
ワイルドカード付きの値を書き込むにはどうすれば良いのでしょうか?

n列  (n+1)列

あ     あ*
い     い*
う     え*


______________________________

Sub test1()
Dim R As Range, R1 As Range

Set R = ActiveCell
Set R1 = Range(R, Cells(Rows.Count, R.Column).End(xlUp))

With R1.Offset(, 1)
.Formula = "=" & R.Address(0, 0)
End With
Set R1 = Nothing: Set R = Nothing
End Sub

Aベストアンサー

最後から4行目の
.Formula = "=" & R.Address(0, 0)

.Formula = "=" & R.Address(0, 0) & "&""*"""
にしてください。

Qアクセス フィールド名変更と別テーブル作成 access2010です。 既存テーブル名:AAA 既存

アクセス フィールド名変更と別テーブル作成



access2010です。

既存テーブル名:AAA
既存フィールド名:あああ

これをレコード内容、型式を変えずに別の新テーブルに新フィールド名で作りたいです。

新テーブル名:BBB
新フィールド名:かかか

よろしくお願いします。

Aベストアンサー

テーブルを構造とデータを含めてコピーして、フィールド名を変えればよいのでは?

Qワイルドカードの特殊文字

ワイルドカードの特殊文字

ワイルドカードについて調べていますが、以下の事がわかりませんので、お教え頂けませんでしょうか?

質問1:
ワイルドカードは下記の2つ以外には特殊文字はないのでしょうか?
* 任意の長さの文字(0文字以上)
? 任意の1文字(0文字も可)

質問2:
ワイルドカードについて一般的に定められたガイドラインみたいなのはあるのでしょうか?

例えば、Wordでは、[ ]は、指定した文字のいずれか1文字を検索するみたいです。
http://office-qa.com/Word/wd211.htm

しかしながらコマンドプロンプトでは[]は使えないと思います。

ワイルドカードの仕様があり、アプリ毎に実装者が独自の拡張をおこなっているのでしょうか?

質問3:
ワイルドカードと正規表現の違いは厳密にいうとなんでしょうか?

Aベストアンサー

>> 質問1:

(SQL)
% 任意の長さの文字(0文字以上)
_ 任意の1文字(0文字も可)

>> 質問2:

決められた仕様はないと思います。
それぞれのソフトがそれぞれの文化の中で形成してきたものを使っていると思います。

>> 質問3:
>> ワイルドカードと正規表現の違いは厳密にいうとなんでしょうか?

文化ごとに仕様がバラバラなので厳密には言えないのですが、大きな物として制御の複雑さの違いがあります。
例えばワイルドカードは文字列と*?による部分的な一致しか扱えませんが、正規表現は更に細かく「数値ならば」「文字の範囲内(外)ならば」「行頭(行末)ならば」などの指定ができます。

QACCESSでテーブル内の名称変更して変更前のデーターを反映させたい

ACCESS初心者の者です。得意先との取引をACCESSで作成してるのですが、得意先が名称変更になり、得意先テーブルで名称を変更したいのですが、名称を変更するだけではなく、旧名でのデーターを新しい名称で反映させたいのですが、こういった事は可能でしょうか? テーブルでの直接変更や置換をしましたが無理でした。月ごとと2ヶ月にまたがったデーターが必要なのです。作成者がもういないのでどうしたらいいものか困っています。言葉足らずかも知れませんが宜しくお願いいたします。
OS:WINXP SOFT:ACCESS2000

Aベストアンサー

ひとまず作業開始前にバックアップ(MDBファイルをコピー)してください。

憶測ですがキーによる管理は行われていないと思います。
データベース未経験でBASICやCOBOLしか知らない人は、ACCESSでもBASICやCOBOLのようなコーディングをする事があります。
その場合、主キーさえ設定しない事があります。
今回の事例はこれに当てはまるのではないでしょうか。

(そうでなければ得意先名を更新できないで困る事は無いと思います。)

そうであると仮定すると下記の作業で何とかなると思います。
(ただしこれは対処療法的な処置です。今後同じようなパターンが発生する前に正規化の考え方を盛り込んだシステムに書き換えた方が良いでしょう。)

得意先フィールドを持つ各テーブルに対して更新クエリをつくる
1.最初に選択クエリを作成する
2.得意先フィールドがA社のものを抽出できるように設定する
3.選択クエリを更新クエリに変える
4.得意先フィールドをC社に更新するように設定する
5.クエリの実行ボタンを押す

ここまでで、データの更新が出来ます。
細かい手順までは文で書くのが難しいので、入門書などでクエリの使い方を調べてください。

続いて、クエリやマクロ、VBAに含まれている「A社」という記述を全て「C社」に変える必要があります。

VBAはプロジェクト全体を対象に置き換えを行えば大丈夫なはずです。

クエリやマクロはそれぞれのエディタで1個づつ調べるしかないでしょう。

ただし、実際の構造がハッキリしないため本当にこれでいいのか自信はありません。

とにかくバックアップを忘れないように。

ひとまず作業開始前にバックアップ(MDBファイルをコピー)してください。

憶測ですがキーによる管理は行われていないと思います。
データベース未経験でBASICやCOBOLしか知らない人は、ACCESSでもBASICやCOBOLのようなコーディングをする事があります。
その場合、主キーさえ設定しない事があります。
今回の事例はこれに当てはまるのではないでしょうか。

(そうでなければ得意先名を更新できないで困る事は無いと思います。)

そうであると仮定すると下記の作業で何とかなると思います。
(ただし...続きを読む

Qshellのワイルドカードについて

こんばんは。
shellを書いておりましたが、
ワイルドカードの部分で躓いてしまいましたので、
なにとぞご教授頂ければと思います。

【シェルの内容】
IPアドレスを入力。
IPアドレスの範囲が[0-255].[0-255].[0-255].[0-255]であれば"OK"を表示

このワイルドカードの部分がうまく判定されないのです。
よろしくお願いします。


#/bin/sh

echo -n "To what is IPaddress set ? "
read IPADDR

if [[ [0-255].[0-255].[0-255].[0-255] = $IPADDR ]]
then
echo -n "OK!"
fi

exit 0

Aベストアンサー

expr と test を使うとすると、

read A

A1=`expr "$A" : '\([0-9]\+\)\.'`
A2=`expr "$A" : '[0-9]\+\.\([0-9]\+\)\.'`
A3=`expr "$A" : '[0-9]\+\.[0-9]\+\.\([0-9]\+\)\.'`
A4=`expr "$A" : '[0-9]\+\.[0-9]\+\.[0-9]\+\.\([0-9]\+\)$'`

if test -n "$A1" -a -n "$A2" -a -n "$A3" -a -n "$A4" &&
test "$A1" -le 255 -a "$A2" -le 255 -a "$A3" -le 255 -a "$A4" -le 255
then echo OK
else echo NG
fi

QAccessのテーブルに稼働日フィールドを追加したい

ACCESSのAテーブルの[開始日]フィールドと[終了日]フィールドにそれぞれ日付が入っています。
Bテーブルの[祝日]フィールドに年度内の祝日データが入っています。
Aテーブルに新しく[開始日]から[終了日]までの期間で土日と祝日を除いた日付(要は稼働日)の日数を表示させるフィールドを作成したいのです。
DATEDIFFで期間内の日数、期間内の土日の日数を計算することはできたのですが、Bテーブルのデータ内で期間内のデータの数を数えて引くということができません。
そもそもこのやり方でよいのかも、疑問なのですが、よい方法を教えていただけませんでしょうか?
どうぞ、よろしくお願いいたします。

Aベストアンサー

失礼しました。終了日を入れるのを忘れてましたね

SELECT Aテーブル.ID, Count(*) AS カウント
FROM 数字, Aテーブル
WHERE (((DateAdd("d",[数字],[開始日])) Not In (select 祝日 from Bテーブル) And (DateAdd("d",[数字],[開始日]))<=[終了日]) AND ((DatePart("w",DateAdd("d",[数字],[開始日])))<>1 And (DatePart("w",DateAdd("d",[数字],[開始日])))<>7))
GROUP BY Aテーブル.ID;

QC言語 ワイルドカード

CUI環境でのワイルドカードのプログラムを考えています。
関数の再帰呼出しを使うと思うのですが、どのようなプログラムになるのでしょうか?もしくは、再帰呼び出しを使わずにワイルドカードを判別するプログラムが作れるのであれば、それはどのようになるのでしょうか?

Aベストアンサー

参考
http://www.google.co.jp/search?hl=ja&lr=lang_ja&q=%E6%AD%A3%E8%A6%8F%E8%A1%A8%E7%8F%BE%20%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0

MS-DOSのように狭義的な「*」と「?」のみならただのループで処理できる。
しかしCUIではシェルがワイルドカードを分解してから渡してしまうのでその辺りを考慮しなければならない

Qアクセス-テーブルの複数のフィールド名をあたらしいフィールドの項目にしたい

初めて質問させていただきます。


現在、アクセスで次のような表を作っています。

年度 地域 品名 4月 5月 6月 7月・・・
2001 日本 米  100 60  85 76 ・・・
2002 日本 米  150 45 95 98 ・・・
2001 中国 餃子 678 234 983 876・・・

(※一番上の行はフィールド名です。)

このテーブルを

年度 地域 品名 月  量
2001 日本 米  4月 100
2001 日本 米  5月 60
2001 日本 米  6月 85
2001 日本 米  7月 76
・・ ・・ ・・ ・・ ・・

のように、まとめなおせないでしょうか?

データの入力は上の表の様式で行い、自動的に下の
表が生成できるようにしたいと考えています。

上の表は、レポートで使用するために保存しておき、
また、別形式のレポートを出力するためにこのような
変換を行ないたいと思っています。
よろしくお願いします。

Aベストアンサー

逆ならクロス集計クエリがあるのですけどね...
一度エクセルにデータをエクスポート(Sheet1)
でSheet2上で
A2=OFFSET(Sheet1!A$2,INT((ROW()-2)/12),0)+IF(LEFT(D2,LEN(D2)-1)*1<4,1,0)
C2=OFFSET(Sheet1!B$2,INT((ROW()-2)/12),0)
D2=OFFSET(Sheet1!C$2,INT((ROW()-2)/12),0)
E2=OFFSET(Sheet1!$D$1,0,MOD(ROW()-2,12))
F2=OFFSET(Sheet1!D$2,INT((ROW()-2)/12),MOD(ROW()-2,12))
このSheet2をインポート

※A列は後半に1月~3月が有るので年度を年に変更が必要だと思いましたので+1する設定を付けています。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング