Access2003 で開発をしています。
サブフォームで選択行のある項目の値を取得したいのですが、
下記ロジック(1)で正しく動作するアプリAと、動作しないアプリBが出てきました。
動作しないアプリは、他の行の値を取ってきてしまいます。

【ロジック(1)】
Set db = CurrentDb
Set rs = db.OpenRecordset("サブフォーム用テーブル", dbOpenTable)
Cnt = 1
If rs.BOF = True And rs.EOF = True Then

Else
Do Until Cnt = Forms![メイン]![サブフォーム].Form.CurrentRecord
rs.MoveNext
Cnt = Cnt + 1
Loop
   MsgBox ("項目1の値:" & rs![項目1])
End If

色々調べたところ、正しく動かないアプリでは、ロジックを下記(2)のように変更したら、
正しく動きました。

【ロジック(2)】
Set rs = db.OpenRecordset("サブフォーム用テーブル", dbOpenDynaset)
  MsgBox ("項目1の値:" & rs.Fields("項目1").Value)

こちらのロジックの方が簡単なのもありますが、
テーブルをopenする際、dbOpenTable と dbOpenDynaset がありますが、
サブフォームのレコードを扱う際には、dbOpenDynaset にするべきなのでしょうか。

ロジック(1)で正しく動作していると思われるアプリAは、現在稼動中のため、
ロジックに間違いがなければそのままにしたいのですが、
ロジック(1)の dbOpenDynaset だと間違いで不具合が起きる可能性があるのでしょうか?

ご教授いただければ幸いです。
よろしくお願いいたします。

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

A 回答 (2件)

> サブフォームで選択行のある項目の値を取得したいのですが、



であれば、

MsgBox "項目1の値:" & Forms![メイン]![サブフォーム].Form.Recordset("項目1")

で求まると思います。
「項目1」自体をサブフォーム内で求めていなかったら、
サブフォーム内の一意に特定できる内容を上記ルートで求め、
WHERE 条件に付加して Recordset を得れば良いかと。

提示された処理の前後で何をやっているのかわかりませんが、
今までは、偶々動いていたというレベルと思います。

テーブルを開いただけでは、レコードの並び順は保証されていなかったかと・・・
Dynaset も同様だったかと・・・

偶々だったものが偶々でなくなり、さらに偶々動いたものと比較はできないかと・・・
    • good
    • 0
この回答へのお礼

さらなる回答、ありがとうございました。

教えていただいたロジックで、できました。

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

お礼日時:2014/06/27 14:43

目的は、Forms![メイン]![サブフォーム]の最終レコードの取得でしょうか?


ロジック1・2とも問題です。
テーブルを開いたときのレコードの並び順と
サブフォームの並び順は必ずしも一致しません。
(並び替えやフィルターをかければなおさらの事)

なのでDAOですが、メインフォーム上から実行する場合
Dim rs As DAO.Recordset
Set rs = Me!サブフォーム.Form.Recordset.Clone ’コピーを参照する
rs.MoveLast
MsgBox rs!項目1.Value
rs.close:set rs = Nothing
などでしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

ロジック(1)、(2)共に正しく動作することがあり、
(2)については正しいものかと思っていました。

最終レコードの取得ではなく、
サブフォーム上で選択している行の取得なのですが、
その場合は、どのようなロジックになるのでしょうか?

度々すみませんが、ご教授いただければ幸いです。

お礼日時:2014/06/27 14:10

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

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

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

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

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

QHoly shit!

Holy shit! このことばの意味を教えてください。
また、どんな時に使うことばなのでしょうか。

追伸

wing と win の発音は同じでしょうか。それとも微妙に違うのでしょうか。違うのであれば発音の違いを教えて下さい。

Aベストアンサー

http://eow.alc.co.jp/holy+shit/UTF-8/

Holy shitは上記のサイトにあるように、驚きとか罵倒する言葉です。
Fxxck よりも柔らかい表現ですが・・・

wing と win の発音は同じでしょうか。それとも微妙に違うのでしょうか。>>>

発音方法は全く異なります。

まずwin の発音から説明します。この最後の[n]音の発音は舌先が、上前歯の裏にしっかりと付けて発音します。私の知っている英会話の上級者の発音でも日本語の「ン」で発音する人がいます。そうするとネイティブの夫にはwingにきこえてしまいます。「ン」の発音は舌先が口内のどこにも触れてないからです。

しかるに、w(ing)の ~ingの発音は舌先は下あごにくっついたままですが、舌の後部が「グ」のように喉の奥がもりあがって、発声する鼻音です。従って吐く息は口から出さずに鼻からしか出ていません。この点上記のカナの「ン」に少し似ています。これに対して「グ」の発音は息が口からでます。

少し練習すれば簡単にできます。

Q現在Accessで開発をしています

現在Accessで開発をしています
ライブラリはADOを使用しております

メインフォーム データ検索 帳票フォームに全データを出力
サブフォーム1  修正/削除  連結フォームにフィルタをかけて修正/削除を
サブフォーム2  追加 非連結フォームで追加処理を


データ件数が多いのと項目数が多いのでメインフォーム上では
修正/追加/削除はやらず サブフォーム(単票フォーム)を呼び出しそこでやる
ことにしています

本当はサブフォーム1だけで修正/削除/追加をしたいのですが
ADOだと非連結のフォームでは更新ができないとわかり
連結フォームで対応しました
DAOでやろうかとも考えましたが、ADOとDAOの共存はメンテナンス等を踏まえ
やめました。また、DAOは入りにくいのも理由です

ちなみにSQLサーバーは将来使用しません
あくまでAccess単体(MDB)のみの開発をすると想定して

みなさんは、以下の3つどのパターンで開発をしていますか?

1、ADOのみ
2、DAOのみ
3、ADOとDAO両方

また、理由もお聞きしたいです

よろしくお願いします

現在Accessで開発をしています
ライブラリはADOを使用しております

メインフォーム データ検索 帳票フォームに全データを出力
サブフォーム1  修正/削除  連結フォームにフィルタをかけて修正/削除を
サブフォーム2  追加 非連結フォームで追加処理を


データ件数が多いのと項目数が多いのでメインフォーム上では
修正/追加/削除はやらず サブフォーム(単票フォーム)を呼び出しそこでやる
ことにしています

本当はサブフォーム1だけで修正/削除/追加をしたいのですが
ADOだと非連結のフォームで...続きを読む

Aベストアンサー

Accessnoバージョンを記載しましょう。
>DAOは入りにくい
しかし、Accessの規定はDAOですからねぇ。
どこがどう「入りにくい」のでしょう。例えば、
Set A = CurrentDb.OpenRecordset(~)で
返るレコードセットはDAOのレコードセットです。
その他、テーブル情報を調べる時もDAOのセットを
使う方がマッチしています。
わざわざADOのオブジェクトを作らなくても利用
できます。他のDBをリンクする場合はADOを考え
ますけど、AccessのみならDAOだけで十分だと
思います。

Qshitの意味がよく分かりません。

That's that shit」ってどういう意味になるのでしょうか?

Aベストアンサー

こんばんは。

shit は下品な言葉であることはご存知でしょうが、
その意味はすごく広く、時と場合によって変わります。

下記の俗語辞書によれば、
"that shit" = ヤク(麻薬)
であるとのこと。
http://www.urbandictionary.com/define.php?term=that%27s%20that%20shit

以上、ご参考になりましたら。

Qオンラインで対戦出来る将棋のウェブアプリを開発したいと思っています。

オンラインで対戦出来る将棋のウェブアプリを開発したいと思っています。
yahoo将棋 というのがあるのですが、それと同じようなものをイメージしています。
http://games.yahoo.co.jp/games/login.html?page=shg

そこで、どのような開発方法をとるか考えたのですが、2通りあると思いました。

1
通常のウェブアプリケーションと同じように、プログラムはCGIとして動作させる。
一手打つ度にサーバにリクエストが飛び、CGIが作動する。

2
一つの対戦が始まるとそれ用のプロセスがサーバに常駐し、クライアントからのリクエストをそのプロセスが受け取ってあれこれやる。

自分は1のような感じのウェブアプリケーションしか作ったことがないのですが、今回のような場合は2の方法をとった方がいいような気がしています。
実際どちらがよいのでしょうか?

そして、2の方が良い場合、どのようなツールを使ってそのシステムを構築するのが良いか(やはりJavaがよいのかな、と思っています)、また、サーバと特定の2者の間だけで通信を行うにはどうすればよいのか分かっていないので、それについても教えていただけますと幸いです。

よろしくお願いいたします。

オンラインで対戦出来る将棋のウェブアプリを開発したいと思っています。
yahoo将棋 というのがあるのですが、それと同じようなものをイメージしています。
http://games.yahoo.co.jp/games/login.html?page=shg

そこで、どのような開発方法をとるか考えたのですが、2通りあると思いました。

1
通常のウェブアプリケーションと同じように、プログラムはCGIとして動作させる。
一手打つ度にサーバにリクエストが飛び、CGIが作動する。

2
一つの対戦が始まるとそれ用のプロセスがサーバに常駐し、ク...続きを読む

Aベストアンサー

CGI形式で問題ないのでは。
たぶん、人間が指し手を考える時間で、処理のオーバーヘッドが隠蔽されると考えられるので。

Q“You're the shit!”の意味は

“You're the shit!” という英文の意味は何でしょうか。
スラングで特別な意味があるのでしょうか。

Aベストアンサー

こんばんわ

この類の表現(言葉)は、時によって意味が180度変わります
#1の方の回答も#2の方の回答も正解だと思います(今はpositiveな意味のようですね 私もさっき知りました)
つまり、時と場合によって意味が変わると思います

日本語でも今、「ヤバイー」とか言いますよね
以前はnegative表現でしたが、今はどちらかというとpositiveに使っていますね

ちょっと古いかもしれませんが、awesomeという単語はもともと「恐ろしい」という意味で使われてました(aweという部分が含まれてることでわかりますね +someで形容詞ができあがります)が、今は「すんげー(かっこいいー)」的な意味です

このような単語の意味の変化というのは、いろんな言語で見られる現象のようです

ただ意味を知るだけにとどめて、使わないことをお薦めします
よっぽどネイティブに近いぐらい英語を習得しない限り、聞いている人は許してくれないでしょうね

Qオブジェクト指向開発とコンポーネント指向開発の違いに関して

オブジェクト指向開発から派生した開発としてコンポーネント指向開発というのがあると思いますが、それらの違いがあまりはっきりわかりません。粒度がコンポーネントの方が大きい、プラットホームに限定されない、継承などの難しい(?)概念が省かれ簡略化された部品、再利用を前提としたプラグアンドプレイができるような開発とありますが、その他にどのような特徴があるのでしょうか?わかりやすく教えてください。

Aベストアンサー

あなたのお書きになっていることで、オブジェクト指向とコンポーネント指向の違いは十分だと思いますが、まだ何か具体的な疑問点がおありでしょうか?

QGive a shitの意味。

外国人の友人がよく「give a shit」をよく使います。具体的な意味がわかりません。会話的には・・
「アイツはすぐ、~をするんだよ!みんな迷惑してるんだ。」
「本当は上司がアイツに Give a shit しなくちゃいけないのに言わないんだ。」的な会話で使っています。ニュアンス的に「注意する」とか、「忠告する」又は「文句を言う」だと理解していますが、日本語で言うところ、どんな意味になるのでしょう?また、この言葉は女性は使いますか?

Aベストアンサー

I don't give a shit = I don't care と訳すのが一番わかりやすいかと。
但し、肯定的には殆ど使われません。
上品な女性は使いません。
I don't give a damnも決して上品ではありませんが、似いている意味で使われます。

shitは驚くほど広い範囲で複雑な意味を持つbad wordの典型であるので、英辞郎on the Webでshitを検索すると色々でてきます。意味を理解するのはliving Englishとして重要ですが、使うべき単語・表現では無いことに注意してください。

参考URL:http://www.alc.co.jp/

QベンダーでBVを使って開発している方に質問です。

VBで開発を請け負っている人に質問です。(逆の立場の人でもかまいません)

開発にはノータッチで完成してからお前が運用を考えろと渡された、人事管理
システムがあります。この中に名簿の定型帳票があり1万ステップを超えて
いるので改修は許して欲しいと言うのプログラムがあります。

先日バグの切り分けの為にシステム設計書、概要設計書及びプログラム仕様書
を見て「バカやってんじゃねぇーよ!」と怒ってしまった。私はVBの知識は
ありませんが、要求されている仕様を整理すれば1~2千ステップもあれば
書ける内容を、概要設計から出力フォーマットに沿った説明をコーディング
レベルまで持ち込み大きなステップ数になっているのが判りました。
(推測ですが、以前はAccessで開発されていたものをセキュリティーやメンテ
 ナンスの理由から書き換えを行ったことからAccessのクエリー等をそのまま
 VBに置き換えたのかも知れません。)

システム設計の先頭にメンテナンスビリティーを重視した開発を行う事と
あるのに、この帳票は部課コードを始めにコード類は殆どConstant Valueを
使っていて組織変更等がある都度変更の必要があると言う優れもの。

開発の当社側担当の無能さもさることながらVBで開発されている方はこんな
レベルが低いのかと呆れた次第です。汎用機を扱うベンダーであれば効率性や
メンテナンスの事を良く考え、詳細設計書に書かれている内容では、それらが
損なわれると判断すると、設計の変更を申し入れられる経験をして来た人間に
とって泥棒並のベンダーとの思いもします。

VBで開発を請け負っている人に質問です。(逆の立場の人でもかまいません)

開発にはノータッチで完成してからお前が運用を考えろと渡された、人事管理
システムがあります。この中に名簿の定型帳票があり1万ステップを超えて
いるので改修は許して欲しいと言うのプログラムがあります。

先日バグの切り分けの為にシステム設計書、概要設計書及びプログラム仕様書
を見て「バカやってんじゃねぇーよ!」と怒ってしまった。私はVBの知識は
ありませんが、要求されている仕様を整理すれば1~2千ス...続きを読む

Aベストアンサー

質問でしょうか、それとも愚痴でしょうか?
VBでの開発に携わるものとして、十把一絡にして「レベルが低い」と決め付けられるのは少々心外であります。

CONSTについては、ある程度は仕方がない面もあります。
「部課Aのときは処理1を行う、それ以外は処理2を行う」
ってなコーディングを要求されれば、どうしてもCONSTを使わざるを得ないですから…

(外部ファイルで部課ごとにフラグを指定して、それによって動的に処理を切り替える、って手もありますが、それにしても最低限、部課コード位はCONSTで定義しなくてはいけません。ステップ数も増えるでしょうし… なんでもかんでも外部ファイルで定義すればいいって訳でもないんです。)

ってことで、PGの技量不足もさることながら、仕様を整理する側のSEの方により大きな責任があると思うのですが…



それはともかく、「とにかく融通が利かない」というイメージの汎用系ベンダに対して、VBメインのベンダは、「とにかくお客様の要望を重視し、お客様の言ったとおりにソフトを作ってしまう」という傾向がありますね。

小回りの効く言語であるが故に、ある程度の要望にはその場で答えることができる為、言われたことを言われたとおりにホイホイ作ってしまう、っていうのはあるかと思います。

そういった傾向もあって、仕様書からの展開を馬鹿正直に行ってしまい、工数が馬鹿みたいに増えてしまうっていうことも、中にはあります。
(ですが、仕様書に素直なコーディングって言うのも大事です。その辺のさじ加減がPGの腕の見せどころかと思うんですが…)

※個人的な意見としては「1万ステップを超えているので改修は許して欲しい」などというプログラムは即刻破棄すべきだと思います(^^;。
この手の言い訳が付くモジュールは、大概、それを作成した人間しかメンテ出来ない(汗

質問でしょうか、それとも愚痴でしょうか?
VBでの開発に携わるものとして、十把一絡にして「レベルが低い」と決め付けられるのは少々心外であります。

CONSTについては、ある程度は仕方がない面もあります。
「部課Aのときは処理1を行う、それ以外は処理2を行う」
ってなコーディングを要求されれば、どうしてもCONSTを使わざるを得ないですから…

(外部ファイルで部課ごとにフラグを指定して、それによって動的に処理を切り替える、って手もありますが、それにしても最低限、部課コード位はCONSTで...続きを読む

QI'm funny as shitの意味

I'm funny as shit の意味はなんですか?

よろしくお願いします。

Aベストアンサー

下品な言い回しですが、すごく面白いと言う意味です。
I am funny as f**k
も同じ意味です。

QiPhoneアプリ開発初心者です。経験談をお伺いしたいです。

iPhoneアプリ開発初心者です。経験談をお伺いしたいです。

私は現在大学4年生で、卒業までには何かシンプルなアプリを制作してリリースしたいと考えております。(開発環境は整っています)プログラミング経験は、大学の講義でC、Visual Basicを多少かじった程度です。私は今後3~4ヶ月の間で、アプリが作れるものなのかという点に若干の不安があります。そこで参考までに、アプリを開発をされている方の、完成までに費やした日数や、1日の平均勉強時間についてお伺いしたいと思い、こちらで質問させていただきました。

回答お待ちしております。
どうぞよろしくお願いいたします。

Aベストアンサー

不確定要素が多くてなんとも言えません。

まずは、あなたの能力。
その講義を受けた結果、どの程度理解できたのか。
その講義の演習問題や期末試験をなんなくクリアできたのか、苦労したのか。
iPhoneの開発にはObjective-Cという言語を使うことはご存知でしょうが、これはC言語とオブジェクト指向の別言語(SmallTalkという言語によく似ている)を組み合わせたような作りになっています。その「別言語」を(オブジェクト指向という考え方も含めて)理解するのにどれくらいかかるか。
速読術を身に付けた天才プログラマが「3時間で理解した」といっても、あなたにそれがあてはまるとは限りません。

次に、その制作するもの。
シンプル、と言われても、どの程度のものかわかりません。
アイディアがあって、CやVisual Basicでだったら作成できる、というレベルまで完成しているなら、あとは、iPhone用に変更するだけです。
アイディアはあるけどどうやってコーディングしてよいかわからない、あるいは、アイディアすら無い、となると、iPhoneの勉強以前の問題です。


そして、最も重要なのが、開発に使える時間です。
大学4年生ということですが、卒業研究は終わっているのでしょうか?
そのアプリの開発が卒研の一環なら、「数ヶ月でできるかどうか」ではなく「数ヶ月で理解して作る」です。
卒研の合い間の息抜きだとすると、その息抜きにどれくらいさけるのかは、あなたの研究次第です。

卒業、就職してからも、アプリ開発はできます(学生ほどの時間はとれないとしても)
趣味のアプリ開発で卒業が延びた、なんてシャレになりませんから。

不確定要素が多くてなんとも言えません。

まずは、あなたの能力。
その講義を受けた結果、どの程度理解できたのか。
その講義の演習問題や期末試験をなんなくクリアできたのか、苦労したのか。
iPhoneの開発にはObjective-Cという言語を使うことはご存知でしょうが、これはC言語とオブジェクト指向の別言語(SmallTalkという言語によく似ている)を組み合わせたような作りになっています。その「別言語」を(オブジェクト指向という考え方も含めて)理解するのにどれくらいかかるか。
速読術を身に付けた天才プログラ...続きを読む


人気Q&Aランキング

おすすめ情報