人に聞けない痔の悩み、これでスッキリ >>

会社でファイルメーカーを使用しているセクションがあります。
OSはWindows2000です。
その組合せだと、ファイルメーカーに同時アクセスできるのが5名までで、このたび増員があってみんなで業務対応を行うのが難しくなりました。そこで関連者は、ファイルメーカーからAccessに切り替えることを考えたそうです。
その構築を私にやって欲しいと依頼があったのですが、Accessは初歩的な技術しかなく、ファイルメーカーのことはさっぱりわかりません。
でもお仕事と言われたらやらざるを得ないので、勉強しながらやるつもりなのですが、
★ファイルメーカーからAccessへの移行はどのようにやるのでしょうか?さほど難しくはないのでしょうか?
OSがVistaに変わったら、この問題はクリアされるのですが、OSを変えるのは1年半後なんです。
それまで、関連者で声を掛け合って交代するというのも業務がやりづらいと思います。
出来るだけ要望に応えてあげたいのですが、私はAccessも初めから作ったことがなくて、前任者が作ったもののメンテナンスを行っている程度なんです。
★ひとつの成果物を一人で仕上げる期間はどれぐらい見ておけばいいのでしょうか?
内容にもよるので一概には言えないでしょうが、だいたいで構わないので教えてください。
よろしくお願いします。

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

A 回答 (4件)

>現在インストールされている Pro7 から Pro9のソフトに替えれば9人ま


>で同時アクセスが可能だと言われました。

ここを読んでみて下さい。
http://www.filemaker.co.jp/products/fmp/network. …
    • good
    • 0
この回答へのお礼

再度、filemaker社に問合せたところ、「Windows2000は、Pro9であっても5人までしか同時アクセスできません」と言われてしまいました。
が~ん、
Windows2000なのが問題になっているのです。
Vistaが導入されるまで、声を掛け合って交替で使う方向で動いているようです。
何度も回答をいただいて、本当にありがとうございました。

お礼日時:2008/04/04 11:08

サーバーにあるファイルメーカーのデータをどのようにして見ている(操作している)のですか?

    • good
    • 0
この回答へのお礼

私は操作したことがないので詳しいことはわからないのです。
それで、回答者様から教えていただいた内容も使用者に伝えてみたのですが使用者も意味を理解できず、私達の周りにはその意味を理解できるものがいませんでした。
FileMaker社に問い合わせてみたところ、現在インストールされている Pro7 から Pro9のソフトに替えれば9人まで同時アクセスが可能だと言われました。
この内容を依頼者に伝えて、依頼者から「新構築もしくはアクセスに変えなければ対応できない」と言っていたシステム開発業者に確認してもらうことになりました。
今は、このような方向で動いています。
ご回答をいただきまして、ありがとうございました。  

お礼日時:2008/03/27 11:56

インスタント Web機能を使ってWebブラウザで見ているのでは?


この場合は5人までみたい。

この回答への補足

ご回答ありがとうございます。
ファイルを乗せている場所は、Serverなのですが、Web機能を使ったWebブラウザというのは関係があるのでしょうか?
ネットワークになるとAccess以上にずぶの素人なので、申し訳ないのですがもう少し教えていただけないでしょうか。
よろしくお願いいたします。

補足日時:2008/03/26 17:31
    • good
    • 0

そんな理由で使い勝手が違うソフトに乗り換えるなんて大胆な。



ファイルメーカーProは最大10ユーザまで共有可能です。そこから
250人まではファイルメーカーServerで接続出来ます。5人ってのは
もしかするとweb公開しているときの制限かな。ファイルメーカー
Serverは最大100人のweb同時アクセスができます。

ファイルメーカーもアクセスも判らない人が苦労するより、ファイ
ルメーカーをServerにするだけの方がはるかに楽ですよね。

この回答への補足

ご回答ありがとうございます。
ファイルメーカーProを使用しています。
Web公開ではなくて、Serverにのせています。
開発業者がソフトメーカーに聞いたところ、次のように言われたそうです。
「Windows2000の場合、同時アクセスは5人までしかできない。XP、Vistaなら250人同時アクセス可能」
本当はWindows2000でも可能なのでしょうか?

補足日時:2008/03/26 16:24
    • good
    • 0

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

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

関連するカテゴリからQ&Aを探す

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

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

QMac版のMS ACCESSってあるの?

マイクロソフトのOfficeを調べていたんですが、Mac版の「ACCESS」が見あたりません。
Mac版「ACCESS」って存在しないんでしょうか?
単体だったら購入できるんでしょうか?
ご存じの方、よろしくお願いしま~す!

Aベストアンサー

マイクロソフトがMac版のAccessを開発しなかったのは
Macには、ファイルメーカープロがあるかららしいです。
ファイルメーカーはWindows版も存在します。
アップルワークスのデーターベース機能がその簡易版です。
ファイルメーカーとウェブオブジェクトの組み合わせはすばらしいと
以前、雑誌の記事でマイクロソフトの人が言ってました。
記憶が正しければ。

QAccessで別テーブルの値をフォームに表示したい

初めてのAccessで分からない事があり質問させてください。

<会社テーブル>
会社ID
会社名
住所

<社員テーブル>
会社ID
社員名
ソート番号

*1社に対し複数の社員レコードが存在

以上のようなテーブルがあるとします

現在「会社テーブル」を表形式で一覧表示しています
会社ID,会社名、住所とフィールドが並んでいるのですが、その後ろに「社員テーブル」のソート番号が一番若い社員名を表示したいと考えています(現状は番号関係なく表示させる方法すら分かりません)

色々いじくりまわしたのですが、初めてAccessをさわる事もあってよくわかりません

リレーション等でひっぱってくる事ができるのでしょうか?

どなたか教えて頂けませんでしょうか

何卒よろしくお願い致します

PS.Access2013で作成中です

Aベストアンサー

単純にテーブル[会社]のみでフォームを作成し、社員表示用テキストボックスを追加。そして、そのプロパティを表示し

コントロールソース=DBLookup("SELECT 社員名 FROM 社員 WHERE 会社ID=" & [会社ID] & " ORDER BY ソート番号")

これは、以下の標準モジュールに登録したユーザ関数 DBLookup()を使っています。これで、クエリを用意しなくても目的を達成できます。

さて、かかるユーザ関数を標準ライブラリに登録したくない場合、

1、"社員ソートクエリ"を作成します。

SELECT 社員.会社ID, 社員.社員名
FROM 社員
ORDER BY 社員.ソート番号;

2、コントロールソースに次のように書きます。

=DLookUp("社員名","社員ソートクエリ","会社ID=" & [会社ID])

http://office.microsoft.com/ja-jp/access-help/HA001228825.aspx

DLookup()については、マイクロソフトの解説を参照されてください。

【DLookup()の限界を破るにはVBAで同じ関数を作るしかない】

マイクロソフトの解説を読めば判りますが、ORDER BY 節を指定する引数が用意されていません。ですから、どうしても、"社員ソートクエリ"を作成するという手間が必要となります。そこで、SQL文を引数とするDBLookup()をVBAで書けば、その手間を省けるという算段になります。この辺りは、好みと趣味の問題。どっちでも良いと思います。そういうお断りをした上で DBLookup()を紹介しておきます。なお、ADOは、つぎのように参照設定しないと利用できません。

http://www.happy2-island.com/access/gogo03/capter00307.shtml

Public Function DBLookup(ByVal strQuerySQL As String, _
             Optional ByVal ReturnValue = Null) As Variant
On Error GoTo Err_DBLookup
  Dim DataValue
  Dim rst     As ADODB.Recordset

  Set rst = New ADODB.Recordset
  With rst
    .Open strQuerySQL, _
       CurrentProject.Connection, _
       adOpenStatic, _
       adLockReadOnly
    If Not .BOF Then
      .MoveFirst
      DataValue = .Fields(0)
    End If
  End With
Exit_DBLookup:
On Error Resume Next
  rst.Close
  Set rst = Nothing
  DBLookup = IIf(Len(DataValue & ""), DataValue, ReturnValue)
  Exit Function
Err_DBLookup:
  MsgBox "SELECT 文の実行時にエラーが発生しました。(DBLookup)" & Chr$(13) & Chr$(13) & _
      "・Err.Description=" & Err.Description & Chr$(13) & _
      "・SQL Text=" & strQuerySQL, _
      vbExclamation, " 関数エラーメッセージ"
  Resume Exit_DBLookup
End Function

単純にテーブル[会社]のみでフォームを作成し、社員表示用テキストボックスを追加。そして、そのプロパティを表示し

コントロールソース=DBLookup("SELECT 社員名 FROM 社員 WHERE 会社ID=" & [会社ID] & " ORDER BY ソート番号")

これは、以下の標準モジュールに登録したユーザ関数 DBLookup()を使っています。これで、クエリを用意しなくても目的を達成できます。

さて、かかるユーザ関数を標準ライブラリに登録したくない場合、

1、"社員ソートクエリ"を作成します。

SELECT 社員.会社ID, 社員.社員名
FR...続きを読む

Qアクセエスのレコードの更新をVBAでするには?

アクセスで、一覧表のフォームにボタンを取りつけています。レコードの内容を変更したら、ペンの形のマークが現れますね。これは変更中ということですが、そこでボタンを押しても変更は確定されないから、更新確定させたいのです。

それで、DoCmd.Requery を最初の行に入れてみたら、元の一覧表は最初のレコードに飛んでしまう。

元の一覧表の位置を動かさないために、Ctrl+Enter キーを押して更新確定させたような状態をVBAで実現する方法あるのでしょうか?

よろしくお願いします。

Aベストアンサー

No1 です。
今回の場合には
Docmd.RunCommand acCmdSaveRecord の方が良かったですね
文字通りレコードを保存します。
Requery に引きづられてしまいました (^_^;)

Recalc、Refresh、Requery の使い分けは下記が参考にはなりますか?
http://www.nurs.or.jp/~ppoy/access/access/acF007.html

QAccessのRefresh・Requery・Repaintの違い

Requeryはもう一度ソースレコード(テーブル)を読み込むようです。このとき、テーブルの先頭レコードに移動してしまいます。
Refreshは最新のレコード(テーブル)を再表示するような気がします。レコードの移動は起こらない気がします。
Repaintは、VBAでキャプションなどを変更したとき使っています。
でも、よくわかっていません。
どんなときにどんなメソッドを使えばいいのでしょうか?
詳しい方、よろしくお願いいたします。

Aベストアンサー

たびたびすみません。
調べてたらこんなのがでてきました。
http://www.nurs.or.jp/~ppoy/access/access/acF007.html

参考URL:http://www.nurs.or.jp/~ppoy/access/access/acF007.html

QAccess 別テーブルにある値を抽出条件にしたい

OS:WindowsXP SP3
使用ソフト: Microsoft Access2003


選択クエリにて、別テーブルのフィールドにある値すべてを抽出条件にできますか?


ホームページに来て頂いた方の検索キーワードを集計しております。
テーブル1には『検索キーワード履歴』フィールドがあり、お客様が使用した検索キーワードが入力されています。(約2万件)
テーブル2には『除外キーワード候補』フィールドがあり、不要なキーワードが入力されています。(約10件)


クエリにて、『検索キーワード履歴』から『除外キーワード候補』の値を全て除いた結果を出力させたいのですが、
抽出条件をどのように指定したらいいのか分かりません。

そもそも、別テーブルのフィールドにある値すべてを除外させる抽出条件って指定できるのでしょうか。
SQLを用いる方法でも構いませんので教えてください。

Aベストアンサー

SELECT * FROM テーブル1
WHERE NOT EXISTS
(SELECT * FROM テーブル2 WHERE テーブル1.検索キーワード履歴 = テーブル2.除外キーワード候補)
OR 検索キーワード履歴 IS NOT NULL
とか
SELECT * FROM テーブル1
WHERE 検索キーワード履歴 NOT IN (SELECT 除外キーワード候補 FROM テーブル2 )
ということ?
1フィールドに1キーワードの場合です。

QAccessの桁区切りについて教えてください。

アクセスのレポートの金額に、桁区切りのカンマを付けたいと思っています。
プロパティの書式を通貨にすると¥マークがついてしまいます。
合計は付いてもいいのですが、内訳には¥マークを付かないように桁区切りだけにしたいのです。

そのため、書式に『###,##0』としました。
できましたが、小数点以下が表示されません。

小数点を表示したいので『###,##0.###』としたら、『59,180.000』となってしまいます。
小数点の指定を自動から3桁表示に変えましたが、うまくいきません。

教えていただきたい内容としては、
・金額の表示に桁区切りのカンマを付けたい。
・でも¥マークは付けたくない。
・小数点以下該当があるもののみ3桁まで表示させたいが(5,500.365)、
 小数点以下がないものは小数点以下は表示させたくない(5,400)。

ぜひともアクセスを使いこなしている方、お教えください。

Aベストアンサー

この内容からですと、[金額]フィールドを「レコードの内容により、書式を変えたい」と
いうことですので、テキストで処理する方法よりないかと思います。(Access2000)

VBAによる「ユーザー定義関数」を使う方法ですが、それで良かったら手順を
詳しく書きますので、テストしてみてください。

・テーブルのデザインで[金額]フィールドを「数値型」の「単精度浮動小数点型」か
 「倍精度浮動小数点型」にします。

・「モジュール」の新規作成で開いたコードウィンドウに下記コードをコピーして
 貼り付けます。

・フォームのレコードソースにするためのクエリを作成します。
 必要なフィールドをQBEグリッド(画面の下側)にドラッグした後、
 新規フィールドに 例えば、 金額Txt:Valtxt([金額]) と入力します。

・レポートの[金額]のコントロールソースに、この[金額T]を指定します。
 この書式で「配置」を右に設定します。

これで、少数部がない数値は、整数部だけを表示し、位取りの , が付きます。
小数部がある場合は、4位を四捨五入します。(通常と同じ)
その結果、右側に 0 が付いた場合は、表示しません。

ご承知の上とは思いますが、表形式の場合、少数点位置が揃わなくなりますので
見ずらくなってしまいます。

このようなもので如何でしょうか。

Function Valtxt(V As Double) As String
Dim T As String
Dim N As Integer
T = Format(V, "#,##0.000")
For N = Len(T) To InStr(T, ".") Step -1
  If Mid(T, N, 1) = "0" Then
    T = Left(T, N - 1)
  Else
    Exit For
  End If
Next N
If Right(T, 1) = "." Then T = Left(T, Len(T) - 1)
Valtxt = T
End Function

この内容からですと、[金額]フィールドを「レコードの内容により、書式を変えたい」と
いうことですので、テキストで処理する方法よりないかと思います。(Access2000)

VBAによる「ユーザー定義関数」を使う方法ですが、それで良かったら手順を
詳しく書きますので、テストしてみてください。

・テーブルのデザインで[金額]フィールドを「数値型」の「単精度浮動小数点型」か
 「倍精度浮動小数点型」にします。

・「モジュール」の新規作成で開いたコードウィンドウに下記コードをコピーして
 ...続きを読む

QAccessのフォーム上にレコード数とレコード番号の表示

Accessでクエリを元に表示するフォーム上で、テキストボックス等に関数を使って、レコード数とレコード番号を表示する方法がありましたら教えてください。

フォームの書式設定で「移動ボタン」の表示をすれば目的の事は出来るのですが、表示の大きさが調整できない為、とても見難いのです。

以上よろしくお願いします。

Aベストアンサー

レコード番号のコントロールソースを
=[CurrentRecord]
レコード数のコントロールソースを
=Count("*")-[NewRecord]
としてみてください。

Qアクセスに自動入力を入れたい

accessで、EXCELでのVLOOKUP関数のようなものを使いたいのですが
フィールド1にCODE番号を入れると、フィールド2に自動入力という
ようなことをしたいのです。

(1)テーブル1に区分テーブルを作りました。
   例:1  A社
     2  B社
     3  C社

(2)テーブル2に次のように入れたい
   例:フィールド1に「1」と入力すると、
     フィールド2に「A社」と入力される

これは可能でしょうか?
もし、説明されているページなどがあれば、
そのURLを教えていただけると助かります。

当方、accessは入力程度しか経験がないため、
初心者向けでの説明をしていただけると幸いです。

よろしくお願いします。

Aベストアンサー

Excelからの転向者が良くする質問ですね

結論から言いますと
テーブル2にA社と入力してはいけません

テーブル1がありテーブル2でそれを参照したいときには
テーブル2には区分コードフィールドだけを設け
テーブル1とテーブル2で区分コードでリレーションシップを設定します

>VLOOKUP関数のようなものを使いたい
Access(リレーショナルデータベース・RDB)では
複数のテーブルを関連付けて物事を表現します
そのため他のテーブルを参照するということは基本中の基本になります
そのために関数を使ったりしません
もっと強力な仕組みが用意されています
それがテーブルのリレーションシップであり、クエリの結合です

これからAccessをやっていこうとお考えなら
上に書いたようなことを理解することを一番初めにやってください
すなわち、[テーブル設計][正規化][参照整合性][リレーションシップ][クエリ]などを
勉強してください

QAccess サブフォームでの選択行の取得

こんにちは。

Access初心者です。

サブフォームでテーブルの項目を表示させていますが、
選択された行を取得する方法はありますか?
サボフォームの下の方に現在選択されているレコード数が表示されてますが、その値でかまいません。

調べているのですが、なかなか検討がつきません。
宜しくお願い致します。

Aベストアンサー

フォーム名がフォーム1、サブフォームコントロールの名前がサブフォーム1だとすると、

Forms!フォーム1!サブフォーム1.Form.CurrentRecord

で取得できます。
(「Forms」と「Form」がありますのでご注意下さい)


また、フォーム1にコードを記述する場合であれば

Me!サブフォーム1.Form.CurrentRecord

サブフォーム1へのコード記述であれば

Me.CurrentRecord

という構文によっても、それぞれ取得が可能です。

Qフォームを開くときに、コンボボックスの値を選択(アクセスVBA)

こんにちは。
アクセスVBAで、フォームを開いたとき
(フォームのOpenイベント)に、
コンボボックスの値を選択したいのですが、
どういう方法が、あるでしょうか。

理想は、
フォームのOpenないし、Loadイベント内で、
コンボ0.ItemData(2).Selected
と、書くような感じです。
(無論、Selectedは使えませんでした)。

よろしくお願いします。

Aベストアンサー

これでいいのかな?
※テキスト書きなので検証していません

If コンボ0.ListCount > 0 Then
  コンボ0.Value = コンボ0.Column(0, 2)
End If


人気Q&Aランキング