07/01/25 20:34:14
>>330
どうもありがとうございます。
Renameメソッドで上手くいきました。
ところでついでに質問なんですが、GUIを通してできる
Accessの操作のほぼ全てはVBAで出来るんでしょうか?
またそれならなぜAccessにはExcelのようなマクロの記録がないんでしょうか?
332:デフォルトの名無しさん
07/01/26 00:06:37
あの…試験で、JAVAプログラミングのIf文、For文ってのが出るんですけど、つまりどういう事なんですか?誰か詳しく教えて下さいm(__)m
333:デフォルトの名無しさん
07/01/26 03:49:24
スレタイ100回嫁
334:デフォルトの名無しさん
07/01/26 11:05:25
>>331
全て確認したわけじゃないが、ほぼ全て出来ると思っていいよ。
DoCmd のメソッドってメニューとほぼ対応してるし。
AccessでExcelのように「操作した内容をVBAとして記録」が出来ない理由は知らん。MSに聞け。
Accessが元々MS製じゃないからかもしらんし、VBAではない古い「マクロ」があるが故に
下位互換性の関係で仕様を合わせられないのかもしらん。 DoCmdとかヘンでしょ。
335:デフォルトの名無しさん
07/01/26 22:58:27
VBAからモジュールを追加する方法を誰か教えてください
ApplicationクラスにCreateForm()やCreateReport()があって、
なんでcreateModuleやCreateMacroがないんでしょ
336:デフォルトの名無しさん
07/01/26 23:12:48
モジュールについては書き込んだ後に発見しました。
どうもすいませんでした。
URLリンク(support.microsoft.com)
337:デフォルトの名無しさん
07/02/04 18:53:15
Sub unko()
With Assistant
.Visible = True
With .NewBalloon
.Text = "ウンコ産まれそう"
.Button = msoButtonSetOK
.Show
End With
.Visible = False
End With
End Sub
338:デフォルトの名無しさん
07/02/15 07:56:52
可愛いレジ店員がいるコンビニでバレンタインチョコを買う
↓
袋は要らないと断り、チョコをレジに置いて釣り銭を財布に入れる
↓
わざとチョコを置き忘れて足早に店を出て車に乗り込もうとする
↓
可愛い店員が追いかけてチョコを手渡しに来る
↓
「あの・・・これ・・・」
↓
( ゚д゚ )あ、ありがとう
339:デフォルトの名無しさん
07/02/19 22:31:18
可愛いレジ店員がいるコンビニでバレンタインチョコを買う
↓
袋は要らないと断り、チョコをレジに置いて釣り銭を財布に入れる
↓
わざとチョコを置き忘れて足早に店を出て車に乗り込もうとする
↓
誰も来ない
↓
( 'A`)
340:デフォルトの名無しさん
07/03/16 19:43:05
Access2000で質問があります
半角カナ文字が大量に入っているデータをインポートした場合
元のテキスト状態に対してMDBファイルが2倍近い容量になってしまい困っています
データベースの内部はunicodeな為に半角カナ文字をunicode化してるのが
原因だと思うのですがこれを回避して、バイナリのまま取り込む方法は無いでしょうか?
(このフィール度に対して検索などは行いません)
よろしくお願いします
341:デフォルトの名無しさん
07/03/19 01:48:14
初歩的な質問ですがAccess2007で
一つのフィールドのデータ型を「日付/時刻型」
にして異なるレコードに同じ日付を入力したら
インデックス、主キー、またはリレーションシップで値が重複しているので、
テーブルを変更できませんでした。重複するフィールドの値を変更するか、
インデックスを削除してください。。または重複する値を使用できるように
再定義してください。
とでてきました。重複する値(日付)を使用するための再定義とはどうすればできますか?
342:デフォルトの名無しさん
07/03/19 15:58:00
初歩的な質問ですが、Accessのバージョン管理ってどうやっていらっしゃるんですか?
VSSでできるとは思うんですが、ちと高いですよね?
343:デフォルトの名無しさん
07/04/01 13:40:48
>>341
その日付/時刻型のフィールド以外にもう1つのフィールドにキーを設定する。
>>342
Accessを使うような開発はバージョン管理自体してないと思う。
344:デフォルトの名無しさん
07/04/02 01:37:02
>>342
VBA だけを出力して、Subversion にて、バージョン管理しています。
345:デフォルトの名無しさん
07/04/02 23:01:36
どなたかわかる方教えて下さい。
表形式のフォームを開いた瞬間に、一番下のレコード行まで自動で
スクロールさせる方法はあるでしょうか?
「これを使えば出来るよ~」といった回答でOKです。
FAQだったらすみません。
346:デフォルトの名無しさん
07/04/02 23:32:26
>>345
Call DoCmd.GoToRecord(, , acNewRec)
でどう?
347:デフォルトの名無しさん
07/04/02 23:34:33
重り、キーが沈むくらいの
348:345
07/04/03 00:21:23
>>346
できました。ありがとうございました。
>>347
なるほど、そんな手もあったか!(笑)
349:デフォルトの名無しさん
07/04/05 00:33:27
すみません。H3.3.3とテキストで入力したとき。表示をH03.03.03という形
で前ゼロをつけるには、どのようにすればよろしいのでしょうか。
よろしくお願いします。
350:デフォルトの名無しさん
07/04/05 00:46:16
test
351:デフォルトの名無しさん
07/04/08 16:42:53
>>340
リンクして使えば。
352:デフォルトの名無しさん
07/04/13 20:27:48
>>349
テーブルデザインビューで日付時刻型のフィーるどの書式をgee\.mm\.ddにするのはダメ?
入力はH3/3/3で表示はH03.03.03になるみたい。
Access2000でやてみた。
353:デフォルトの名無しさん
07/04/13 20:30:53
>>340
Unicode圧縮ってASCII文字みたいのじゃないと圧縮にならんのね。
元テキストが大量でmdbファイルがでかすぎなら他のDBのほうがいいのかも。
354:デフォルトの名無しさん
07/05/01 10:05:15
教えてくれ。
突然なんのエラー表示もなくAccessが落ちたりするんだけど、
原因はどんなことが考えられるかな?
WindowsXP Pro
Access2000 + ADO
よろしく
355:デフォルトの名無しさん
07/05/02 00:43:07
たまたま2kのファイルを2003で開いてVBA動かすと画面吹っ飛ばない?
ウチだけ?
あとファイルサイズが1GB越えるとMDB壊れやすくなんない?
356:デフォルトの名無しさん
07/05/02 01:48:10
>>354
いかずち
357:デフォルトの名無しさん
07/05/02 01:49:32
>>355
つかいかたしだい
つなぎかたしだい
つなぐものしだい
358:デフォルトの名無しさん
07/05/07 03:00:06
>>354
新規MDBを作成して、全オブジェクトをインポートしてみたらどう?
359:デフォルトの名無しさん
07/05/07 03:00:10
>>354
新規MDBを作成して、全オブジェクトをインポートしてみたらどう?
360:デフォルトの名無しさん
07/05/07 05:29:42
>>354
いつまで正常に動いてた?
プログラムやその他書き換えた部分はある?
ウィルスチェックソフトがマクロウィルス検索して死ぬケースもあったから
一旦チェックを無効にしてみるとかはどう?
361:デフォルトの名無しさん
07/05/07 06:55:43
違うPCがあるならそちらでも実行してみよう
あとプログラムやフォーム等修正するときは
こまめにバックアップ取りましょう
362:sake
07/05/10 04:25:40
Set Access = Nothing
363:デフォルトの名無しさん
07/06/17 09:49:17
とりあえずアクセスについてるサンプルの在庫管理というのをを作ってそれをmdeに変換しようとしたのですがmdeのメニューがグレー化になっていて作れません。
どうしてでしょうか?
364:ひろみつ
07/06/17 17:53:02
SQLiteつかえ。ばかやろう。
365:デフォルトの名無しさん
07/06/17 23:52:22
>>363
バージョンが違うという可能性はないのかい。
Access 2002-2003でも、MDBファイルを新規作成すると、互換性のために
既定ではAccess 2000形式のファイルになるはず。
もし変換元のMDBがアプリと違う形式なら、いったん使っているバージョンと
同じファイル形式(Access 2002使ってるなら2002形式、2003使っているなら
2002-2003形式)に変換してみるとか。
関係ないなら、せめてバージョン情報を出してもらわんと、アドバイスもしづらい。
366:デフォルトの名無しさん
07/07/02 14:55:25
access97&winXPproです
★オートメーションエラー ってなんですか?(ノД`)★
Dim 【cnn As Database】
Dim rs As DAO.Recordset
の【~】内の部分が青く反転してます。
帳票フォームからフィルタをかけて単票フォームを開き
単票フォームの「更新ボタン」を押すと
そのレコード更新&新規レコードを追加するモジュール(DAO)で、最初は動いていました。
帳票>単票のフィルタに、最初クエリ使っていて、
次にVBA
DoCmd.OpenForm "単票フォーム", , , "ID = " & Forms!帳票!ID&
に変えてみた処、単票フォームは同じように開くのに、
モジュールを動かすところに来て「オートメーションエラー」です。。
一度、クエリのフィルタに戻して大丈夫だったのですが
単票フォームをあちこち改良してるうちに、再発しました。
モジュールが悪いのか単票フォームなのか帳票フォームなのか、
そもそも既にクエリ&フォームで開いている元テーブルにデータ追加が出来ないってことなのか・・・
367:デフォルトの名無しさん
07/07/02 15:39:37
自己レスです
【~】部分、一度消して書き直したら、何故か治りました。。。
フィルタも、クエリでもVBAでも、どっちでもイケルし・・・
なんだったんだー!1週間も悩んだのにぃぃぃ~~~~(゚Д゚#)
368:366
07/08/02 19:49:55
治ったと思った↑のオートメーションエラーが頻発します・・・(/_;)
>>367の書き直しすると一時出なくなりますが、また忘れた頃に出てくる。。。
根本的解決法ありませんか?
369:デフォルトの名無しさん
07/08/13 16:26:28
質問があります。
ACCESSで作られたアプリケーションがあるのですが、
それをVBのソースコードとして読めるようにする方法はありますか?
アプリケーションを実行するためのEXEと同じフォルダに、
CABファイルがあり、それを解凍するとDLL,MDBなどのファイルがあります。
MDBを開くと、アプリケーションの中で利用しているデータが格納されている
のですが、肝心のフォームが見つかりません。
DLLのなかにフォームははいっているのでしょうか?
DLLを逆コンパイル(?)すればVBのソースが出てくるのでしょうか?
またはまったく別のことをしているのでしょうか私は(涙)
お手数ですが、よろしくお願いします。
370:デフォルトの名無しさん
07/08/14 00:16:54
muri
371:369
07/08/14 13:49:34
>>370
ありがとうございます。
あきらめます。
372:デフォルトの名無しさん
07/08/14 23:04:01
フォームが無くてもモジュールがある場合もある
mdbをテーブルリンク先としてしか使ってないならむり
373:デフォルトの名無しさん
07/08/14 23:49:18
>>372
Accessで作られたって書いてあるんだからそれはないだろ
374:デフォルトの名無しさん
07/08/20 16:53:02
Access2007の機能である
作成タブ->複数のアイテム
でSelect文の結果を一覧で表示するところまで出来たのですが,
これはインタフェース上から値の変更はできないんでしょうか?
テキストボックスやコンボボックスを配置しても変更が一切変更できません.
データベースの値変更は手動でやるから攻めて見た目だけでも変わってくれたらと思いますが,なにか方法はないものでしょうか?
よろしくお願いします.
375:デフォルトの名無しさん
07/08/20 23:02:28
新規フォームが出来てるだけだから名前漬けて保存してもう一回開けば編集できたよ
376:デフォルトの名無しさん
07/08/21 14:53:58
何度か保存,再起動したことはありますが,だめでした.
とりあえず今のところはクエリでなく,テーブルを直接フォームに表示させるなら編集できるようだったので,
Select発行 すべてテーブルに値コピー フォームで編集 差分を本来のテーブルに反映
っていうとんでも仕様で動かしてます...
377:デフォルトの名無しさん
07/08/22 02:53:33
SELECTの内容をここにうp汁
378:デフォルトの名無しさん
07/08/22 02:54:53
>>376
>Select発行 すべてテーブルに値コピー フォームで編集 差分を本来のテーブルに反映
>っていうとんでも仕様で動かしてます...
とんでも仕様っつーか、普通のアプリはみんなそうだから気にしなくていいよ。
379:デフォルトの名無しさん
07/08/22 13:45:18
みなさん反応ありがとうございます.
>>377
あまりにも長いので割愛させていただきます
やってることは単純で7つのテーブルからJoinしたくらいで,OrderやWhereは与えていません
>>378
そんなもんなんですか?
フォームを開くたびに2分ほど値コピーの時間待ちがあります.
もっとスマートな方法がある気がしたので投稿させてもらいました.
380:デフォルトの名無しさん
07/08/26 09:13:10
PC1からVB6で作ったアプリでPC2に置いたAccessMDBにDAOで接続して"SELECT Now()"という
SQL投げてもPC2のシステム日付じゃなくてPC1のシステム日付が返されてしまいます。。。
PC2のシステム日付を取得する方法はあるのでしょうか?ADOとかならいけるんでしょうか?
他スレで返答がもらえなかったのでマルチしちゃいました。すいません。
381:デフォルトの名無しさん
07/08/26 12:20:56
Jetエンジンはローカルで動いてるのでリモートのシステム日付は取れないよ
382:デフォルトの名無しさん
07/08/26 15:30:22
winsockなりTTマクロなりで、telnetから取るとか。
自分はそれくらいしか思いつかない。
383:デフォルトの名無しさん
07/08/26 18:31:22
WMI
384:デフォルトの名無しさん
07/08/26 20:43:26
なるほど。
「PC2」ってののOSも知りたいところだね。
385:デフォルトの名無しさん
07/08/30 15:24:04
vistaでaccessフォームのテキストボックスに
aaaaaaaaaaaaaという文字列の間に12345という文字列を追加させると
aaaaaa12345aaaaaaaとなるはずがaaaaaa12345というように
挟んだ文字列以降の文字列が消えてしまいます。
vista以外のOSではちゃんとできます。
access2000で作成して 実行させるPCもaccess2000です
解決方法があれば教えていただけますか?
386:デフォルトの名無しさん
07/08/30 16:07:52
OSをデグレードする
387:デフォルトの名無しさん
07/08/30 21:57:31
>>385
Microsoft Office 97、2000 の各 OS での対応表
URLリンク(www.microsoft.com)
388:デフォルトの名無しさん
07/10/30 19:55:41
Accessを使った経験がないのにVBAエキスパート(スタンダード)の資格を取ろうとしています。 が、なかなかうまくいきません。
翔泳社の「VBAエキスパート教科書 Access VBAスタンダード」をすでに5往復くらい学習して、試験も2回受けたのですが落ちました(1回目500点、2回目550点) 。
Microsoft Office Specialist Access version 2002の資格は持っています。ただ、試験勉強を独学でやっただけで、仕事でAccessを使った経験はありません。
現在失業中なので、とにかく履歴書に書くための資格がほしい、というところなのですが。
まずはAccessの使い方を学習したほうが良いのでしょうか?
389:デフォルトの名無しさん
07/10/30 20:37:48
VBAのAはAccessのAじゃないぞ
390:388
07/10/30 23:00:25
>389
はい、それは知っています。
VBAエキスパート Excel 2002 VBAスタンダードは取得したので、今度はAccess VBAをと思っているのですが。
391:デフォルトの名無しさん
07/10/30 23:38:40
マ板の話題だな
392:388
07/10/31 09:52:13
たびたびすみません、マ板てなんですか?
【PC等】のWindows板のことですか?
393:デフォルトの名無しさん
07/11/04 20:57:12
ググれば一発ですが?
394:デフォルトの名無しさん
07/11/06 19:03:03
VBAを使ってOracleにODBC接続して
クエリで抽出したデータを.csvファイルに書き込みたいんだけど、
抽出されたデータを.csvファイルに書き出す方法が分かりません。
クエリの結果がそのままファイルに出力されるような方法があるのか、
それともクエリの結果をどっかの変数に格納してその変数をファイル
に出力するような感じになるのかその変もよくわならないす。
現状ではボタンを押したらクエリが実行されて抽出されたデータが表示
されるところまでできたんですけど、表示しないで
.csvファイルで出力してほしいんですが、どうしたらいいのでしょうか。
答えでなくても、参考になるサイトでもなんでもいいので教えてください。
395:デフォルトの名無しさん
07/11/06 22:29:48
>>394
DoCmd.TransferText
396:デフォルトの名無しさん
07/11/07 21:15:21
AccessにはDate型の現在時間を取得する方法があるらしいですけど、
テーブルの中にDate型でない単なる文字列形式で20071107みたいに
日付データが入っているときに、日付がある範囲内におさまってるデータ
だけ抜き出したいってとき、どうしたらいいんでしょう。
Date型と文字列を比較してもうまくいかないっすよね??
397:デフォルトの名無しさん
07/11/07 21:23:01
Date.StringValue
398:デフォルトの名無しさん
07/11/07 23:08:11
20071107 ÷ 10000 = 2007 あまり 1107
399:デフォルトの名無しさん
07/11/08 20:44:01
VBAにはデフォルトで出力先を選ぶファイルチューザーみたいな
ものないですか
400:デフォルトの名無しさん
07/11/08 21:25:33
なんです…(+ΦyΦ)?此のスレたて馬鹿者は…
401:デフォルトの名無しさん
07/11/08 21:25:57
デフォルトって何?
402:デフォルトの名無しさん
07/11/08 21:27:58
>>400
失礼…(+ΦyΦ)!`実況+.かと思いました…
403:デフォルトの名無しさん
07/11/09 01:14:02
>>399
WizHookかGetOpenFileNameでググレ
404:デフォルトの名無しさん
07/11/09 11:50:58
>>396
DateSerial(Left([日付txt],4),Left(Right([日付txt],4),2),Right([日付txt],2))
#文字列の右4字目までが年、文字列左2文字が日、…「文字列右4字」の左2文字が月
405:デフォルトの名無しさん
07/11/10 09:03:48
真ん中なんでMid()ではなくLeft(Right())なの?
406:デフォルトの名無しさん
07/11/10 16:07:16
それは全レコード変換して比較しようとするから、遅いよ。
比較条件の方を文字列に変換して与えたほうがよくないか。
407:デフォルトの名無しさん
07/11/13 22:15:10
Aceessのテーブルで、ただ単に一番上のレコードだけを抽出するselect文ってどのように書けばいいのでしょうか?
408:デフォルトの名無しさん
07/11/13 22:24:21
select top 1 にょろ~
ふたつくるときもあるけどな~
409:デフォルトの名無しさん
07/11/13 22:28:23
>>408
ってことは
select * from test where top = 1
でいいの??
table名がtest
410:デフォルトの名無しさん
07/11/13 22:39:52
>>409です。トップの使い方は解りました。ありがとうございます。
ところで、
select top 1 フィールド名… from test
という事で指定できる事はわかったのですが。
top1で、フィールドがめちゃくちゃ多い場合など、レコードの一行目を全て指定する事は
できないのでしょうか?それともフィールド名を全て書く必要があるのでしょうか?
411:デフォルトの名無しさん
07/11/13 22:43:47
問題が解決しました!!
select top 1 * from testでいけました
412:デフォルトの名無しさん
07/11/14 16:04:04
今WinXPでACCESS95、97、2000、2003が入っているんですが。
昨日ACCESS2003のSR3当てたらいままで保存出来てたmdbファイルが
保存ボタン押すと強制終了するようになっていまったんですが
同じ状況の人います?
保存できないから使いもんになんないですよ!
413:デフォルトの名無しさん
07/11/14 17:07:14
新しいMDB作って全部インポートしてみるといいかもしんない
414:デフォルトの名無しさん
07/11/15 01:40:01
39
415:デフォルトの名無しさん
07/11/20 15:21:06
Access から SQL Server へ接続した際の質問です。
Access にてテーブルを開き、右クリック→インポートを選び、
ファイルの種類「ODBCデータベース」を選び、接続した場合は、
すべてのテーブルにおいて、インポートすることが可能です。
しかし、AcesssVBA にて、以下のコードでアクセスすると、ある特定の
テーブルにアクセスできず、エラーで停止してしまいます。
(別なテーブルは、以下のコードでアクセスする事は可能です。)
ConnectionString あたりに問題があるのでしょうか。
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim str As String
cn.ConnectionString = "driver={SQL Server};server=ser;uid=sa;pwd=;database=FA"
cn.ConnectionTimeout = 10
str = "SELECT * FROM HOKEN"
rs.Open str, cn, adOpenKeyset, adLockReadOnly ←この行でエラーで止まる場合があります。
※str の中でテーブル名を「HOKEN」としているとアクセス出来ないが、
それを「TANKA」に変更するとアクセス出来る。
416:デフォルトの名無しさん
07/11/20 19:41:35
エラーの内容ぐらい書けよ。
とりあえずODBCなんてやめれば?
cn.ConnectionString = "Provider=SQLOLEDB.1;Password=;User ID=sa;Initial Catalog=FA;Data Source=ser"
417:415
07/11/22 09:59:19
>>416
レスありがとうございます。
ConnectionStringの内容を書いているように変えてみたのですが、
ある特定のテーブル「HOKEN」のみアクセスが出来ず、rs.openの時点で止まりました。
エラーは以下のようになりました。
●あえてサーバ上に存在しないテーブル「KIHON2」を指定した場合。
実行時エラー
オブジェクト名'KIHON2'は無効です。
●サーバ上に存在するが、プログラムで読めなかったテーブル「HOKEN」を指定した場合。
実行時エラー
キーワード'HOKEN'付近に正しくない構文があります。
418:デフォルトの名無しさん
07/11/22 13:15:02
str = "SELECT * FROM [HOKEN]"
これでもダメかな?
419:415
07/11/22 14:02:39
>>418
読み取ることが出来ました。非常に助かりました。ありがとうございます。
420:415
07/11/22 14:23:41
調べてみたのですが、分からなかったのでここで質問します。
SQL構文でテーブル名を[]を使う表記方法って何か意味があるのでしょうか。
そもそも、そういう表記をしたサンプルは見当たりませんでした。
SQL Server の特有の仕様であるとか、誘導していただけるだけでも結構です。
よろしくお願いします。
421:デフォルトの名無しさん
07/11/22 15:35:08
>>420
URLリンク(msdn2.microsoft.com)
要は普通使えない名前(予約語とかスペースが入ってたりとか)をテーブル名や列名に使うときに付ける。
「HOKEN」なら普通に使えると思うんだけど、なんか違う名前でもお使いでないかい?
422:415
07/11/22 16:23:58
>>412
情報ありがとうございます。
フィールド名においても、Useというものを入れるとエラーで終わったり
していましたので、そのあたりが関係してそうですね。
もしかしたらスペースが入っていたのかもしれません。
テーブル名を変えるなどして良く調べてみます。
丁寧にありがとうございました。
423:デフォルトの名無しさん
07/11/22 17:21:07
同名のViewとかを定義しているとか
実は全角で入ってるとか
424:デフォルトの名無しさん
07/11/22 17:56:57
Accessてなんか裏技ないの?
Excelで隠しレースゲームができるみたいにさ。
425:デフォルトの名無しさん
07/11/22 18:31:33
AccessにADOで接続して次のようなステートメントを発行しています。
========成功する例========
BEGIN;
CREATE TABLE `testmdb_article` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`pub_date` datetime NOT NULL,
`headline` varchar(200) NOT NULL,
`article` longtext NOT NULL,
`reporter_id` integer NOT NULL);
CREATE TABLE `testmdb_reporter` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`full_name` varchar(70) NOT NULL);
COMMIT;
========失敗する例========
BEGIN;
CREATE TABLE `testmdb_article` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`pub_date` datetime NOT NULL,
`headline` varchar(200) NOT NULL,
`article` longtext NOT NULL,
`reporter_id` integer NOT NULL);
CREATE TABLE `testmdb_reporter` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`full_name` varchar(70) NOT NULL);
ALTER TABLE `testmdb_article` ADD CONSTRAINT reporter_id_refs_id_79fe4b3d FOREIGN KEY (`reporter_id`) REFERENCES `testmdb_reporter` (`id`);
COMMIT;
もともと MSSQL 用に書かれた python の Django の ado_mssql で
python manage.py syncdb したときに自動生成されたクエリです。
出来れば FOREIGN KEY が付いている状態で動作させたいのですが・・・
426:デフォルトの名無しさん
07/11/23 01:16:12
>>425
AUTO_INCREMENT って MySQL じゃなかったっけ?
Access だとこんな感じなんだけど、これじゃダメかい?
CREATE TABLE testmdb_reporter (
id AUTOINCREMENT PRIMARY KEY,
full_name CHAR(70) NOT NULL
);
CREATE TABLE testmdb_article (
id AUTOINCREMENT PRIMARY KEY,
pub_date DATETIME NOT NULL,
headline CHAR(200) NOT NULL,
article LONGTEXT NOT NULL,
reporter_id INTEGER NOT NULL,
CONSTRAINT fk_article_reporter FOREIGN KEY ( reporter_id ) REFERENCES testmdb_reporter ( id )
);
427:デフォルトの名無しさん
07/11/23 02:56:07
Access自体が、Officeの裏技
428:デフォルトの名無しさん
07/11/23 05:39:25
ありがとうございます
続きをやっているのですが今度はこんなエラーが出てきてしまって
先にすすめません><
com_error: (-2147352567, '\x97\xe1\x8aO\x82\xaa\x94\xad\x90\xb6\x82\xb5\x82\xdc
\x82\xb5\x82\xbd\x81B', (0, 'Microsoft JET Database Engine',
"\x83N\x83G\x83\x8a\x8e\xae
'([django_content_type].[model] = %s AND [django_content_type].[app_label] = %s)'
\x82\xcc\x8d\\\x95\xb6\x83G\x83\x89\x81[ ",
None, 5003000, -2147217900), None)
-- on command: "SELECT [django_content_type].[id],[django_content_type].[name],
[django_content_type].[app_label],[django_content_type].[model]
FROM [django_content_type] WHERE
([django_content_type].[model] = %s AND [django_content_type].[app_label] = %s)"
-- with parameters: ['message', 'auth']
429:デフォルトの名無しさん
07/12/08 12:56:29
ベンダーから上がってきたシステムのコードを見たら、
日本語変数/関数
option explicitなし
Dim i,j,k as integer
定数極小で、たいがいリテラルで記述
ひたすらIf文並べてやたら長いプロシージャ
なんか頭が痛くなってきたんだけど・・・
これはAccess開発現場においてふつーのことなんですか?
430:デフォルトの名無しさん
07/12/08 16:11:48
>429
入門書なんかじゃ普通に日本語変数名使ってるからなぁ。
発注側がコーディング規約示して縛るしかないんじゃね?
431:デフォルトの名無しさん
07/12/08 17:53:13
>>429
素人ならともかく、開発で食ってたらふつーなわけない。
そのソフトハウスが、そういうレベルってだけの話では。
一業者の(たぶん底辺の)例をもってしてAccess一般を
語ろうとするのは、ちょっと無理。
もしハズレの業者をつかんでしまったのでどうすれば
いいかという話なら、>430 の通りかもしれないけど、
それはAccessに限らずP言語でもG言語でも一緒。
仮に自分のところなら、誰が書こうが内部のコードレビューで
NG食らうだろうから、そんなコードは外に出ようが無い。
432:429
07/12/08 18:59:17
なるほど
比較的、取引のある会社に今回初めてAccessのシステムを発注したんですが、
それまでは一貫したコード規約だったので・・・
自分、Accessはまったく分からなく、ほぼ丸投げにしたのであまり偉そうなことも言えないけど、
Option Explicitのないモジュールを見た衝撃と言ったら、それはもう(ry
433:デフォルトの名無しさん
07/12/08 20:53:57
>>429
定数が"まったく"無かったら、自動出力なコードかもしれない って思った。
434:デフォルトの名無しさん
07/12/08 22:46:30
Dim i,j,k as integer
これはなにかおかしいのか
435:デフォルトの名無しさん
07/12/08 22:48:45
i と j は variantになってると思うよ。
436:435
07/12/08 22:50:56
あれ? 2002あたりから、大丈夫になったんだっけ? VB.netだけだっけ?
もうよくわからんくなった。
437:デフォルトの名無しさん
07/12/08 23:24:27
>>434
438:デフォルトの名無しさん
07/12/09 00:52:49
>>436
Office2000以降は今のところ全部VBA6.0で変わってない筈だから>>435でok
439:デフォルトの名無しさん
07/12/09 01:45:46
残念ながら>>434みたいのが珍しくないのが最下層下請け開発会社(オフィスはマンションとかw)の現状ってやつです。
440:435
07/12/09 13:42:50
>>438
了解した。 thx!
441:デフォルトの名無しさん
07/12/15 22:05:41
>439
あるあるw
そういう奴に指摘すると
「なんて糞な言語仕様なんだVBは!」
とか言い出すww
442:デフォルトの名無しさん
07/12/16 17:06:18
フランシーヌ様・・ドットーレは・・怒りでどうにかなってしまいそうです・・・
Dim i,j,k as Long
For i=12 to 255
If j=1 Then
Msgbox "あたり"
End If
If j=0 And i=256 Then
Goto EXIT_DAYO
End If
While k<1
Value=Cstr(j) & Cstr(k)
k=k+0.1
Wend
Next
EXIT_DAYO:
443:デフォルトの名無しさん
07/12/18 21:39:57
なんかテーブルとクエリが200個、フォームとレポートが200枚くらいある
mdbを数個引き継ぐことになったんですが、なんか仕様書が一枚もありません。
くるくるぽんで仕様書を出してくれるフリーソフト無いでしょうか。
444:デフォルトの名無しさん
07/12/18 22:21:11
地味にウンコの海をかき分ける
これ
445:デフォルトの名無しさん
07/12/19 19:36:14
仕様書よむよりコーディングを読むほうがわかりやすいんじゃねえ?
446:デフォルトの名無しさん
07/12/19 19:56:43
>>445
どのフォームがどのテーブルを参照してて、そのテーブルには
どういうカラムがあるのかとかをパッと参照できないじゃん。。。
デザインビューとデータシートビューを同時に並べて見比べる
こともできないし・・・。
447:デフォルトの名無しさん
07/12/19 21:54:06
こんな感じで各オブジェクトの内容をテキストにしてまとめりゃ良いだろ
Access歴1ヶ月に満たない俺でもこれぐらい考えつくってのに、藻舞はセンスねえな
Set objFrm = Me
For Each objElms In objFrm.Controls
If objElms.ControlType = acComboBox Or objElms.ControlType = acTextBox Then
Debug.Print objElms.Name & vbTab & objElms.ControlSource
End If
Next
448:デフォルトの名無しさん
07/12/19 22:10:49
俺もいろいろ解析ツールをつかってみたが、結局自分で作ったものが最高だった。
449:デフォルトの名無しさん
07/12/19 23:35:33
明日からまたウンコの海を泳ぐ仕事がはじまるお・・・
450:デフォルトの名無しさん
08/01/07 01:16:29
>443
このへんはどうかね?
URLリンク(homepage2.nifty.com)
死様の海を泳ぎきる手助けになれば幸いですが。
でも個人的感覚としては、その状態になってしまうと(ry
451:デフォルトの名無しさん
08/01/07 22:22:30
ACCESS2003に関する質問です。
現在、ACCESSの勉強をしています。
データ連結したフォームの詳細セクションは、レコードセットの件数に応じて繰り返し表示されるけど、
データ連結をせずにコードから詳細セクションの追加・削除するにはどうしたらいいですか?
データ連結をせずにというのは、極端な話DBに一切アクセスせず=データ無し、ということです。
[背景]
実際には、データの保持にレコードセットを使う代わりに書籍クラスなど(のコレクション)を使用するということがしたいのですが
そのためには、上記の方法が判明すれば実現できるだろうと考え質問しました。
よろしくお願いします。
452:デフォルトの名無しさん
08/01/08 00:09:19
連結フォーム使わないならフロントエンドはVBでいいじゃない
453:デフォルトの名無しさん
08/01/08 01:21:25
ACCESSはデータベースと連結することを前提に作られてるからね。
その特性が利用できないと逆に不便になる。
454:デフォルトの名無しさん
08/01/08 07:44:24
なんで書籍テーブル作らないの
455:デフォルトの名無しさん
08/01/08 08:17:53
>>452,453
確かに、うすうす感じていましたが、連結フォームを使わなければ本領は発揮できないんですね
ACCESSにおける設計の選択肢を増やそうと思っていたのですが、
クラスを駆使したいような時は言語の再検討をした方がよさそうですね
今回は単に勉強しているだけなので、ここで区切りを付けデータ連結の勉強に移ろうと思います。
>>454
いえ、書籍テーブル及びADOを使ってデータ取得をし、そのデータを元に書籍クラスを生成するという流れになります。
456:デフォルトの名無しさん
08/01/08 14:36:07
コード上でレコードセットの内容をいじっておきゃいいだけに感じるのは、
ワタシの読解力不足からでしょうか
457:デフォルトの名無しさん
08/01/08 22:59:57
おれはクエリ作ってそれに連結すりゃいいだけに感じるけど
OOPな人は違うんだろうなきっと
458:デフォルトの名無しさん
08/01/09 00:39:29
OOPとかご大層なもんじゃないよ>>455の言うことは
クラスのドンガラ作ってコレクションに入れることにこだわってるけど、
実現できることは構造体の配列と変わらん
というかコレクション使うと遅いので実用的じゃない
素直にワークテーブル作れと言いたい
459:デフォルトの名無しさん
08/01/11 01:40:59
テーブルのルックアップで2列のコンボボックス、たとえば
1 | 山下
2 | 西田
3 | 小野
みたいなのがリストで表示されるものを作りました。1列目が
連結列で、2列目が名前です。しかしながら、
このままでは、表示が一列目のキーの数字になってしまいます。
列幅の指定で一列目を0cmにすると名前が表示されるのですが、
リストをドロップダウンしたときに、先に示したようにキーと
名前の2列ではなく、名前だけの一列になってしまいます。
また、一列目にキーがきていると、オペレーターが入力する時に
楽なのでこの順番は変えたくありません。
どうすれば、ルックアップで2列で、名前が表示されるように
できるのでしょうか。
460:デフォルトの名無しさん
08/01/11 02:39:13
そういう時はコンボボックスの右隣にテキストボックス置いてそのコントロールソースを
=コンボボックス.Column(1) にするのが一般的だけど、その仕様にこだわる理由って
何かあるの?
461:デフォルトの名無しさん
08/01/11 09:43:46
2列表示のリストにすればいいんじゃないの?
462:デフォルトの名無しさん
08/01/12 19:58:09
>>459
コンボボックスのプロパティ一覧をもう一度良く見てみろ
463:デフォルトの名無しさん
08/01/12 21:23:05
久々にAccess触ってます。
バージョンは2003。
レポートのソースにADOのRecordsetって指定できないんでしょうか?
クエリー作らなきゃだめですか?
464:デフォルトの名無しさん
08/01/12 21:25:28
カーソルを変えれば医院で内科医
465:デフォルトの名無しさん
08/01/13 01:24:51
クエリーにADOとかDAOとかの区別があるの?
466:デフォルトの名無しさん
08/01/15 11:38:04
>>463
VBAでソース指定したいてことか?
467:デフォルトの名無しさん
08/01/17 22:09:09
>>460
それって一般的なの?
468:463
08/01/21 18:40:08
>466
それです。
VB6とどっかの帳票ツールなんかだと
Set Report.Source = Recordset
みたいな感じでできたので・・・
469:デフォルトの名無しさん
08/01/23 11:34:01
>>468
レポートオープンイベントのときに
Me.RecordSource にSelect文ぶち込むわけにはいかないのかな?
470:デフォルトの名無しさん
08/01/23 11:41:42
あ、ADOでしたね、失礼。
471:463
08/01/23 19:55:44
>469
あ、なるほどそういう方向性か。
なんとなくできそうな気がしてきました。
試してみます、ありがとう。
472:デフォルトの名無しさん
08/01/26 01:59:28
フォームやレポートのコントロールソースに式やSQLを書いたときに
それを後から検索したいと思いました。例えばコントロールソースに
select * from 区分マスタと書いて、それをVBAの
Application.Forms("フォーム").Controls(0).Value
みたいにして取得できるかなと思ったのですが、なんかうまく取得
できませんでした・・・。GUIのプロパティ画面で見えている
コントロールのプロパティの値を取得することはできないのでしょうか
473:デフォルトの名無しさん
08/01/26 12:57:49
自分で「コントロールソース」って書いてるんだから、「Value」じゃなく
「ControlSource」じゃないの。
474:デフォルトの名無しさん
08/01/26 17:58:24
ちょっと聞きたいんだが、モジュールとかフォームのバージョン管理ってどうやってんの?
まじで悩むんだけど。svnに突っ込んでみたけど、svn diffしてもバイナリの差分しか
取れないし、どうやって履歴管理してんの?
475:デフォルトの名無しさん
08/01/27 15:16:16
ふつうはsaveastextしたファイル単位(オブジェクト単位)じゃね?
VSSが無いと入出力が面倒だけど。
476:デフォルトの名無しさん
08/01/28 12:59:05
>474
URLリンク(msdn2.microsoft.com)(VS.80).aspx
とか参考にならないかな
実は俺もやった事ないのだが
477:デフォルトの名無しさん
08/01/31 22:44:07
やったこと無い事じゃなくて、現状どうやってんの?
478:デフォルトの名無しさん
08/02/01 00:48:35
過去も現状もやったことねえよ
479:デフォルトの名無しさん
08/02/02 20:58:24
たとえばフォームのプロパティをプロパティダイアログから変更したとして
その変更履歴もVSSから差分を確認できたりするの?
480:デフォルトの名無しさん
08/02/03 22:31:57
型番 日付
A 2008/02/03
B 2008/02/04
C 2008/02/05
D 2008/02/06
E 2008/02/07
F 2008/02/08
エクセルで上記のような表があるとします。
クエリに関数を入れて本日~4日後の2008/02/06までを”全て”
抜きとって表示したいのですが関数わかる方おられませんか。
2008/02/07と2008/02/08は不要としたいのです。
自動的に毎日4日間を抜き取ることはできますか?
481:デフォルトの名無しさん
08/02/03 22:56:06
マルチすんな死ね
スレリンク(db板)
482:デフォルトの名無しさん
08/02/07 19:10:38
すいません、アクセスの問題を解いてくれと言われて安請け合いしてしまったんですが…
実は私は全くわからないんです
簡単(らしい)な2つだけの問題なので、誰か教えてください…お願いします
URLリンク(www.vipper.org)
483:デフォルトの名無しさん
08/02/08 09:14:52
ちょw404wwwwwwww
484:デフォルトの名無しさん
08/02/10 03:46:30
vistaでaccess2007を使用しています。市販のテキスト通りに操作をして、
フォームウィザードでフォームを作成し、新しいデータを入力しようとした所、
「新しい行に値を追加するにはまず行をコミットする必要があります。行をコミットしてから、
値の追加をしてください。」というメッセージが出て、入力が出来ません。
どうすればよいのでしょうか?宜しくお願いします。
485:デフォルトの名無しさん
08/02/10 05:49:41
>482
うpロダの流れが速すぎて誰も問題見れてない疑惑。
>484
バージョンが合った本を参考にしてる?普通本の記事なら動作確認してるはずだが・・・。
症状からさっするに、自動コミット関連じゃね?
486:デフォルトの名無しさん
08/02/18 23:38:59
フォームを開く時にパラメーターを渡すってOpenArgsかグローバル変数しかないの?
ていうかOpenArgsって複数形なのになんで引数一つだけなの?
普通、argsっつったら可変引数なんじゃね?
487:デフォルトの名無しさん
08/02/23 12:53:12
accessでフォームを作ってみたのですが、
デスクトップのアイコンをダブルクリックすると、accessが起動してその中に
オレのデザインしたフォームが表示されます。
これをデスクトップ上のアイコンをクリックすると、
オレがデザインしたフォームだけ表示するようには出来ますか?
ベクターでDLしたソフトはアクセスは表示されません。
どうしたら良いのか教えてキボンヌ。
CとかC++とかJAVA?とかじゃないと駄目なんでしょうか??orz
488:デフォルトの名無しさん
08/02/23 13:33:56
Access Runtime Edithion を使え
489:デフォルトの名無しさん
08/02/23 13:46:41
>>488
accessで作って更にVBEってやつで弄くるのかと思ってました。むずかしすぐるorz
AREでできるんですか(ノД`、)ヒントありがとうです。
490:デフォルトの名無しさん
08/03/05 00:42:36
質問です。テーブルに日付を入力する際に
H20/3/4
と日付を入力することになりますが
自分の会社が和暦で管理しているので
和暦コードで平成を4とすると
4200304
と入力した上で日付に変換させたいのですが・・・。
やはりVBAでないとだめですか?
関数で数値処理してどうにかしたいのですが。ご教示お願いします。
491:デフォルトの名無しさん
08/03/05 08:39:59
関数で数値処理してどうにかなるぜ
492:デフォルトの名無しさん
08/03/05 08:41:25
別テーブルにアクセスしてもいいならDLookupを使う
だめならIIFでいいよ
493:デフォルトの名無しさん
08/03/05 08:54:46
西暦で 8/3/4と入れるとH20/3/4になるよ。複雑な関数作るよりラク。
494:デフォルトの名無しさん
08/03/06 21:41:34
Access SQLにはCase句がないんだっけ
IIFのネストじゃ不便やのう
495:デフォルトの名無しさん
08/03/06 23:12:42
Switch関数を知っての狼藉か?
496:デフォルトの名無しさん
08/03/06 23:21:35
Accessのテーブルの列属性の表をExcelのワークシートに書き出そうと思っても、
デザインビューを開いて表を選択コピーしても、張り付けられないのか。
どうすればいいんだ。
497:デフォルトの名無しさん
08/03/06 23:58:24
「列属性の表」の時点で解読を断念した
498:デフォルトの名無しさん
08/03/07 02:22:56
Accessのテーブルの列属性の表のコピペの貼り付けの可否の質問かい?
499:デフォルトの名無しさん
08/03/07 07:40:26
テーブルのデザインビューの話か?
ならVBAからDAO.TablaDefとかで取得する
500:デフォルトの名無しさん
08/03/09 01:07:03
教えて下さい。
姓・名・生年月日が同一の、重複するデータが50件あるとします。
例:たなかまきこ1981/2/24が3件
いずみもとや1988/3/14が5件・・・
これらのデータにはそれぞれ異なる「入会日」が日付としてあるのですが、姓
・名・生年月日が同じデータの中で入会日が一番わかいものだけを抽出するに
はどういうデザインを書いたらよいでしょうか。
お手数ですが宜しくお願いいたします。
501:デフォルトの名無しさん
08/03/09 01:22:42
1.姓・名・生年月日・入会日 のテーブルを作成する。会員TBと命名
2.姓・名・生年月日を主キーにする。
3.データを入会日順に並び替え、会員TBに追加する。
以上の手順を実行すると、会員TBには会員と一番若い入会日のデータが抽出される。
502:デフォルトの名無しさん
08/03/09 02:10:21
同姓同名誕生日まで一緒の人間が50人いてどうしようって
年金の名寄せ処理くらいしか思いつかねえよw
503:デフォルトの名無しさん
08/03/09 03:58:05
つまり質問者は社会保険庁でおk?
504:デフォルトの名無しさん
08/03/09 04:22:51
ワロタ
505:デフォルトの名無しさん
08/03/09 14:03:56
>>500
select 姓, 名, 生年月日, max(入会日) as 最新入会日
from データ
group by 姓, 名, 生年月日
>>501
姓・名・生年月日を主キーにしたら重複した49件が挿入できんだろが。
>>502
同じ人間が忘れて何度も会員登録することはある。そういうのが25人いて
それぞれ2回重複登録することはありそうだが。
506:デフォルトの名無しさん
08/03/09 16:41:41
皆様、ご回答いただきありがとうございました。
505様、解決することができました。
アドバイスありがとうございました・・・!
本当に助かりました、ありがとうございました。
507:デフォルトの名無しさん
08/03/09 19:36:55
教えてください。
下記のような勤怠テーブルがあります。
(実際には時系列でBさん、Cさんの勤怠も入り混じってます)
ここから日付ごとに「9時以前の稼働時間」・「9時から17時までの稼働時間」
・「17時以降の稼働時間」を割り出すには、どうしたらいいでしょうか。
日付 .│名前│ 勤怠
2008/03/03 07:00:05 │ A │ 出社
2008/03/03 15:03:32 │ A │ 退社
2008/03/03 17:02:55 │ A │ 出社
2008/03/03 19:35:04 │ A │ 退社
2008/03/04 08:34:12 │ A │ 出社
2008/03/04 18:42:25 │ A │ 退社
2008/03/05 07:35:02 │ A │ 出社
2008/03/05 17:06:47 │ A │ 退社
2008/03/05 18:02:24 │ A │ 出社
2008/03/06 15:26:47 │ A │ 退社
お願いします。
508:デフォルトの名無しさん
08/03/09 20:16:20
edate
509:デフォルトの名無しさん
08/03/10 20:39:21
擬似コードを5分で考えたけど長すぎて貼れなかった。ようは
出退ごとに時間をぶつ切りにしてループで3つの時間計の
区分に加算していけばいいのでわ。VBAで
510:デフォルトの名無しさん
08/03/10 20:48:09
クエリ一行で済むだろ
511:デフォルトの名無しさん
08/03/10 21:27:15
>>510
一行でやれるならさっさと見せてほしいわ。
512:デフォルトの名無しさん
08/03/10 21:33:02
>>511
クエリで作れば確かにクエリ呼び出しの1行で済むわな・・・・
513:デフォルトの名無しさん
08/03/10 23:03:23
少なくとも1行では無理ぽ
5回も6回も出社退社を繰り返したりしないとか、
かならず、出社したらその日中に退社するとか決まってるのかな。
3月5日にAさんが退社してないことになってるので、
それの対応も考えないといけない?
そのへんまでSQLでカバーするくらいなら(しなくても?)
VBで日付順に並べてfor文回す方が楽だ。
514:デフォルトの名無しさん
08/03/10 23:25:05
まじめに答えると
勤怠リストに保存する際に計算して 9時前 9~17時 17時以降
の労働時間フィールドに書き込むのが間違いなく実用的だな・・・
Forでまわしてもいいけど 1日に複数の出社があるので意外と複雑な処理になる
退社データ入力時に直近の出社データとの時間計算して3つに分けるべき
515:デフォルトの名無しさん
08/03/11 00:15:06
____
/ \
/ _ノ ヽ、_ \
/ o゚⌒ ⌒゚o \ もう17時以降から翌9時まで出勤しっぱなしの仕事はいやだお…
| (__人__) |
\ ` ⌒´ /
516:デフォルトの名無しさん
08/03/11 00:15:09
while 1 {
if (st < 09:00 && ed < 09:00) {
time1 += ed - st
getTimes(st, ed)
} else if (st < 09:00 && ed >= 09:00) {
time1 += 9:00 - st
st = 9:00
} else if (st >= 09:00 && ed <= 17:00) {
time2 += ed - st
getTimes(st, ed)
} else if (st >= 09:00 && ed > 17:00) {
time2 += 17:00 - st
st = 17:00
} else if (st >= 17:00 && ed < 24:00) {
time3 += ed - st;
getTimes(st, ed)
} else if (st >= 09:00 && ed >= 24:00) {
time3 += 24:00 - st
st = 00:00
}
}
こんなかんじで!
517:514
08/03/11 00:45:38
>>515
勤怠入力時に入力チェックくらいするだろw
>>516
VBAじゃないし
しかもそれじゃ・・・
518:デフォルトの名無しさん
08/03/11 01:04:35
AccessもSQLServerとかのデータベースみたいに、ストアドファンクション
のようなユーザー定義関数作ってSQLで使えますか。
519:デフォルトの名無しさん
08/03/11 01:28:27
>>514
逐次に計算するのも、〆で計算するのも同じだろう?
何かが違うのか?
520:デフォルトの名無しさん
08/03/11 01:29:28
使える。
Round()関数の仕様が四捨五入じゃなくて丸めだから
JRound()関数とか勝手に作って本当の四捨五入関数としてSQLで使ったりしてる。
521:デフォルトの名無しさん
08/03/11 01:31:01
すみません
いまさらですが>>507はフレックスタイムでお願いします
522:デフォルトの名無しさん
08/03/11 01:53:57
>>507
これは勤務が日付をまたがる可能性はあるのか?
ex. 出勤 21:00→ 退勤翌日 08:00
523:514
08/03/11 02:44:14
>>519
特に処理に違いは無いが、入力時に必ずチェックするだろ
出勤の後に退勤が入力されているかどうかなど・・・
その時に1件づつ処理したほうが間違いが起きにくい
コードが書けるし、何より処理が早い
1回の出勤・退勤で計算する処理が意外と複雑だから
複数人の1ヶ月の集計を表示すること考えると
時間かかるかもしれないぞ
前もって入力時に計算しておけば一瞬で1ヶ月集計&10人分でも
表示可能だ
SQL集計関数で1発でできるなら必要ないが、俺には思いつかんし
(正確には考えたくない)
それより逐一計算してやったほうがはるかに楽だし早い
524:デフォルトの名無しさん
08/03/11 07:53:19
鉄道会社が一部の夜行を除いて
24時間営業しないのは
勤怠管理が激しく面倒になるからだろうな
525:デフォルトの名無しさん
08/03/11 19:12:30
ボケが半端すぎて反応に困る
526:デフォルトの名無しさん
08/03/11 20:21:59
アクセス2003を使ってますが、
一つのセルだけ上と同じデータを永遠
と入力するにはどうすればいいですか?
527:デフォルトの名無しさん
08/03/11 22:32:45
おまえが使ってるのはエクセル2003
528:デフォルトの名無しさん
08/03/12 00:28:29
名前、日時の順にソートして、
出勤退勤が交互に来てるのをチェック
二件ずつ日時をとって、
サブルーチン:出勤日時,退勤日時→各時間帯の変数にプラス。
名前が変わったら変数初期化して続きを処理。
こんな感じでどう?
529:デフォルトの名無しさん
08/03/12 10:55:30
>>528
そんなことしなくても
逐次処理すれば1回の処理で済むと何度言えば・・・・
その処理じゃプログレスバー出さなきゃならん位
遅いはずだな・・・
途中でAPIでメッセージキュー処理しないとクリックしたりした途端
「応答なし」になるかもね
530:デフォルトの名無しさん
08/03/12 14:24:47
>>529
逐次処理できない理由があるんジャマイカ?
元データが市販のタイムレコーダだったりとか。
531:デフォルトの名無しさん
08/03/12 21:29:08
やっぱアクセスは遅いから駄目だな。
532:デフォルトの名無しさん
08/03/12 21:35:46
日付 .│名前│ 勤怠
2008/01/01 00:00:01 │ A │ 出社
2008/12/31 23:59:59 │ A │ 退社
もういやだお・・・
533:デフォルトの名無しさん
08/03/13 21:52:06
>>529
元の質問が「割り出し方」な件。
テーブル参照しかできない場合もあるし、
逐次処理って、タイムカードを挿すの忘れたアフォがいた場合、
修正箇所が分散するので、
レコード件数によっては
計算させるのも悪い設計じゃないと思う。
534:デフォルトの名無しさん
08/03/19 00:06:38
値集合タイプにユーザー定義関数を使うことができますが、このときの
関数に何かパラメータを渡すことはできないんでしょうか。具体的に言うと、
「ファイルリスト」みたいな関数を作り、パスを渡して、そのディレクトリ中の
一覧をリストに表示するようなことをやりたいのですが。グローバル変数で
渡すことも考えましたが、ひょっとしてマルチスレッドで動いていたら、
おかしくなりそうな気がしてやめました。お知恵をお貸しください。
535:デフォルトの名無しさん
08/03/19 00:39:44
面白いこと考えるね。
グローバル変数でいいんじゃないのかな。
マルチスレッドという話は聞かないから(マルチスレッドにしたい→無茶、みたいな流れはよく見るけど)。
特に他にいいやり方は浮かばない。>>536 に期待。
536:デフォルトの名無しさん
08/03/19 00:46:14
ディレクトリを渡せればいいんだよね。
別に引数や変数で渡すことなくて、そのディレクトリをあらかじめ
ChDriveやChDirでカレントにしておけばいいんじゃね。
ユーザー定義関数内では何も考えずにカレントディレクトリを
検索すれば済みそうな希ガス。
537:デフォルトの名無しさん
08/03/19 00:58:54
対象が何かわからないけど仮にコンボボックスとして、値集合タイプのプロパティは
1.テーブル/クエリ
2.値リスト
3.フィールドリスト
この3択だったはずだけど、ユーザー定義関数ってどこで使うの?
538:デフォルトの名無しさん
08/03/19 01:39:30
URLリンク(msdn.microsoft.com)
「メモ」嫁
539:デフォルトの名無しさん
08/03/19 02:27:20
>>534
VBAでやれば?
540:デフォルトの名無しさん
08/03/21 01:08:18
Access 2003 ランタイムとOffice 2003 SPを同梱して再頒布するのはOKだろうか?
Office 2003 SPはライセンス違反になるかな。
セキュリティー警告に対応するため、VBAにデジタル署名を入れたんだけども
Access 2003 の既知問題で SP1 以上のインストールが必要になってしまった。
541:デフォルトの名無しさん
08/03/22 08:07:21
mdbを開いたときに、ユーザにより初期表示フォームを変えたいのですが、
mdbファイルに起動パラメータを付加するようなことは可能ですか?
選択メニューフォームなどは作成せずに、起動パラメータを付加した
mdbへのショートカットを複数作れたらと思ってます。
542:デフォルトの名無しさん
08/03/22 08:55:54
つ URLリンク(support.microsoft.com)
543:デフォルトの名無しさん
08/03/22 09:07:49
「ユーザーにより」なんだから
最初にログイン画面出して
ユーザー毎にログイン後の
ページを変化させるべきだろ
544:デフォルトの名無しさん
08/03/22 10:57:00
>>542
ありがとうございます。それで行けそうです。
>>543
今回はユーザ管理機能は必要のない簡易システムの提供ですので、
ログイン画面やメニュー画面などを付加して、
ユーザ作業を増やすことは考えてません(ユーザ管理も必要ですし)。
1クリックでも省きたいとうのが質問の意図です。
545:デフォルトの名無しさん
08/03/22 14:34:48
クリックがいやならPCを窓から投げ捨てればいいじゃない
546:デフォルトの名無しさん
08/03/22 14:43:25
そこ、そんなに食いつくところか?w
547:デフォルトの名無しさん
08/03/22 22:01:10
環境変数からユーザー名取れるだろ。
548:デフォルトの名無しさん
08/03/23 00:01:10
ちょwwおまwww
WinのログオンユーザとAccessの管理ユーザ一緒かよwww
549:デフォルトの名無しさん
08/03/23 00:11:19
SQL Serverだって同じ選択肢があるのだからいいだろ。そんなに変か
550:デフォルトの名無しさん
08/03/23 03:24:15
Access使ってる時点で終わってるから
551:デフォルトの名無しさん
08/03/25 20:14:47
フィールド1:姓+名+誕生日
フィールド2:入会日
上記のデータで、フィールド1が同一でフィールド2が異なる複数件のデータが
あるとします。
抽出クエリで、フィールド2が最大のものを抽出したいんですが、
この時にフィールド2が同じ日ならデータとして残しておく(最大抽出では消
えてしまう)ようにするにはどうデザインしたらいいですか?
すみませんが、教えて下さい。
552:デフォルトの名無しさん
08/03/25 20:38:32
>>551
Select * from hoge Where 入会日 = (Select max(X . 入会日) from hoge X )
553:デフォルトの名無しさん
08/04/02 00:30:22
Accessのリレーションシップの意味って何。
そんなんなくてもテーブルを結合してクエリー作れるし。
554:デフォルトの名無しさん
08/04/02 00:49:27
>>553
参照整合性制約
555:デフォルトの名無しさん
08/04/02 00:58:15
テーブルを結合したクエリーをSQL手書きしてるならそれでいい
ウィザードでマウスぐりぐりで結合定義してクエリ作るなら
あらかじめリレーションがあった方が的確に自動生成してくれる
table1 (id, hogeid, fuga)
table2 (id, fugaid, hoge)
で
なんとかjoin on table1.hogeid = table2.id
みたいなのを期待するときに
リレーション作らないままウィザードでクエリ作ると
table1.id = table2.id
とかを勝手に想定して結合してしまうので
手で切り離して定義してっていちいちうざい状態になる
556:デフォルトの名無しさん
08/04/02 01:06:04
そんなことよりクエリのSQLエディタの手抜きぐあいはなんとかならんのか。
超書きにくいわ。せめてキーワードをハイライトしてくれればいいのに
557:デフォルトの名無しさん
08/04/02 01:57:13
だなw単なるメモ帳以下だよな
558:デフォルトの名無しさん
08/04/02 06:52:23
俺は別のエディタにコピペして書いてるけどね。
アクセスにあれこれ機能を付加して肥大化するほうがイヤだね。
559:デフォルトの名無しさん
08/04/03 20:31:29
Accessのクエリって遅いな。
レコード件数が多くて、ある程度負荷の高いSQLで検索を実行しようもの
なら、いとも簡単に待ち時間が長くなってしまうではないか。いつまでも
結果が返ってこないので、Accessを強制終了せざるを得なくもなるし。
SQLなんか使わずに、C++のプログラムでテキストファイルからデータを
読み込んで、直接制御すればほとんど待たなくて済んだ。
SQLはノロマか?
560:デフォルトの名無しさん
08/04/03 20:39:25
それAccessのSQLが遅いというよりテーブルが遅い
ためしにPythonとかRubyからADODBで接続して
コンソールに出力させてみるよいいよ
同じSQL文なのにあまりに速くて驚く
561:デフォルトの名無しさん
08/04/04 23:00:13
VSSのアドインを使ってみたんだけど、使いにくいなこれ。
CP932にマッピングできない文字はチェックイン時に文字化け
しちゃうし、他で編集したものを入れ替えてチェックインするのも
一苦労だし、まじうんざりした。
562:デフォルトの名無しさん
08/04/24 16:35:03
サブフォームの名前変更したら
参照しているプログラムに怒られた(あたりまえ)なので、
プログラムの方も変更したのだが、それでもそんな名前の
サブフォームなんて知らねぇって怒られて、
むかついたのでサブフォームを一旦削除して、別名で作り直したんだけど、
やっぱり動かない状態になってしまった。
これってもうメインフォームから作り直すしかない?
563:デフォルトの名無しさん
08/04/24 17:25:53
全オブジェクトをインポートし直せ
564:デフォルトの名無しさん
08/04/24 23:08:18
>>562
/decompile スイッチでコンパイルし直してみたら。
URLリンク(support.microsoft.com)
URLリンク(support.microsoft.com)
565:デフォルトの名無しさん
08/05/10 00:45:09
すみませんが、教えてください。
csvデータをインポートすると、なぜか10桁の数値はインポートエラーとなり、9桁以下の数値はインポートされます。
10桁の数値もエラーとならずインポートできる設定がございましたら教えていただきたくお願い申し上げます。
566:デフォルトの名無しさん
08/05/10 03:19:03
インポート先のフィールドが長整数型でしたw
なんてオチじゃねーだろーな
567:デフォルトの名無しさん
08/05/15 20:40:29
こちらで初めての書き込みです。
教えて頂けませんか?セキュリティーのことで困っています。
ACCESS 2003を使用してます。
XPを積んでいる2台のPCで仕事をしています。
外付けHDDにACCESSのデータを置いて、
そのときに使用するPCに外付けHDDをつないで仕事をしています。。
起動すると、毎回、「ログイン・・・・」「パスワード・・」と表示されるのを煩く思っていました。
それを消そうとしてセキュリティーを触ったと思います。
1台のPCからは覗き修正できるですが、もう1台からは利用できなくなりました。
「権限がありません」というメッセージです。
新規にファイルを作りデータのインポートもやってみましたが、それでも、同じ状態で一台のPCからは侵入できません。
毎回、なんのメッセージも表示されることなく、誰でも利用できる状態にするにはどうしたら良いでしょう?
ACCESS 2000ではそのようにしていました。
お手数と思いますが、ご助言頂けないでしょうか?
568:デフォルトの名無しさん
08/05/15 21:12:13
アクセス権はスレ違いだけれども…
現在アクセス可能な方のPCを使って外付けHDD全体に対して
アクセス権にUsersかPowerUsers辺りを設定したのだと思うので
今度はアクセス可能なPCでEveryone/フルコントロールにすれば良い。
569:デフォルトの名無しさん
08/05/16 15:53:42
>>568
すれ違いでごめんなさい。
ご助言ありがとうございます。
とても困っていたので感謝致します。
やってみます。
570:アクセスでアクセクしてサクセス
08/05/17 19:17:03
質問です
どっかの金庫持ってるような会社のせいで
当社も出力媒体に暗号化をしろと言う命令が
僕のところに飛んできました
1)
MDBをまんま出力していたんですが
これを暗号化(暗文)するには
どうしたらいいのでしょう
2)
ちなみに出力する
ファイルが「テキスト」の場合バイナリにしろ
って言う意見が別のhpでありました
バイナリって「絵(ピクチャー)」のデータですよね
どうすればテキストが絵のデータになるのでしょう
拡張子を取ればいいんですかね?
先輩方お願いいたします
571:めっちゃ名無し
08/05/17 20:15:21
xpでアクセス2003使ってる者です。
クエリのSQLビューでフォントを大きくするにはどうすればいいんですか?まったくわかりません
572:デフォルトの名無しさん
08/05/17 20:27:03
コピペでワードパットに落としてでかくするとかあ
573:デフォルトの名無しさん
08/05/17 20:33:23
>>571
あのSQLエディタの糞さかげんは全ユーザーがうんざりしてるが
一向に改善されない。あきらめろ
574:めっちゃ名無し
08/05/17 20:45:25
わかりました。ありがとうございました。
575:デフォルトの名無しさん
08/05/17 21:09:55
>>570
スレチだけど簡単な方法として出力データをZIPパス化すれば?
576:デフォルトの名無しさん
08/05/17 22:40:05
おおお斬新な切り込み方
しかしZipは即効パスワードばれないですか
窓の杜とかにあるらしいし
577:デフォルトの名無しさん
08/05/17 22:49:58
>>575
しらべてみま
578:デフォルトの名無しさん
08/05/17 23:13:52
>>576
パスの桁数増やせば運用上無問題
579:デフォルトの名無しさん
08/05/17 23:54:37
いろいろ調べました
>>578さん のおっしゃるとおりです
ところで パス化ってパスワードを付けるってことですよね
?Zipまでのパスきって パスワードつける技?じゃないですよね
できたらすごいなあ
それでわ続きは明日にします
ありがとうございました
580:デフォルトの名無しさん
08/05/18 00:06:24
出力媒体にTrueCryptでもかけとけや
581:デフォルトの名無しさん
08/05/18 00:28:39
(内容の違う)10ファイルくらいを一気に同じ(別でも可)パスワードで作れればベスト
TrueCrypt・・・凄いソフトですねこんなのあるんだ
マジ寝ます
582:デフォルトの名無しさん
08/05/18 00:52:08
普通にAccessでパスワード設定するんじゃダメなのかなー
583:デフォルトの名無しさん
08/05/18 07:05:14
おはようございます
>>582 シフト押して開けるんじゃなかったけ?
今考えてるのは accessのフォームでパスワード入力
そのパスワードでZip暗号化 USB出力
VB+API?でやればできるんですかね
584:デフォルトの名無しさん
08/05/18 07:39:05
> >>582 シフト押して開けるんじゃなかったけ?
いくらなんでもそれはねーよ
585:デフォルトの名無しさん
08/05/18 17:15:04
AccessのというかOfficeのパスワードはぶっちゃけザルだから・・・
586:デフォルトの名無しさん
08/05/19 01:24:37
>>571
[ツール]-[オプション]-[テーブル/クエリ]-[クエリ デザインのフォント]で
変えられる。
ただしSQLビューだけじゃなくデザインビュー(QBEグリッド)も変わる。
587:デフォルトの名無しさん
08/05/19 19:09:14
>>571
cseにコピーしてspl崩し
588:デフォルトの名無しさん
08/05/21 00:28:20
フォームを開いて、入力された値を返すようなことをグローバル
変数使わないでできないですかね・・・。
589:デフォルトの名無しさん
08/05/21 01:37:09
じゃ関数化すれば。
590:デフォルトの名無しさん
08/05/21 05:43:52
2007のTempVars使え
591:デフォルトの名無しさん
08/05/22 10:25:42
>>570
全社的に目立の「秘文」を導入すれば一発で解決する。
592:デフォルトの名無しさん
08/05/22 20:18:56
あれ たかくね?
593:デフォルトの名無しさん
08/05/22 22:09:34
>>570
「暗号化」をどういう意味で使っているのか知らないが、
データを平文で読めなくするという意味ならふつうに
標準機能で付いてる(強度はともかく)。
エンコード/デコードでヘルプ引け。
パスワードかけたいという意味なら、これもふつうに
標準機能で付いてる(強度はry)。
両方併用すれば、一応平文で読めないパスワードロックの
かかったファイルになる。別に他のソフトなんて要らん。
社内規程に沿いたいだけならそれでいいんじゃね。
本気でクラッカー対策したいなら、そもそもAccess使うな
(もちろんExcelもWordも)。というより、Officeスイートの
レベルでやることじゃないわそれ。
594:588
08/05/22 22:11:10
できまちた。フォームってDoCmd.Open以外でも開けたのね・・・
595:デフォルトの名無しさん
08/05/23 00:21:25
バイナリ=ピクチャ
には誰も突っ込まないのね。
596:デフォルトの名無しさん
08/05/24 00:24:55
おいおい
バイナリ=ピクチャじゃないのはもう学習済みだぜ
>>593 ぐぐってきま ダイブ!!
597:デフォルトの名無しさん
08/05/24 00:55:34
>>エンコード/デコードでヘルプ引け
ひいたけど分からんあすもよろしZzz
598:デフォルトの名無しさん
08/05/24 03:03:08
Access 2003にはツールメニューのセキュリティに「データベースのエンコード/デコード」ってのがある。
2007は知らない。
599:デフォルトの名無しさん
08/05/25 18:59:10
そういえばAccessって改行記号を読み飛ばしてインポートするって
聞いたけど マジですか?
600:デフォルトの名無しさん
08/05/25 19:05:51
うは 今試したマジだよ
改行読み込ます方法ってある?
txt csvのインポートで
601:デフォルトの名無しさん
08/05/25 19:05:51
レコードの区切りと見なされるってことではなくて?
602:デフォルトの名無しさん
08/05/25 19:08:45
txtで今流行の3の倍数が読み飛ばされる
**データ**
1
2
改行
4
5
改行
7
↓
**結果からレコードが出来ない(作る方法ある?)**
1
2
4
5
7
603:デフォルトの名無しさん
08/05/25 19:13:33
2003では再現しないな。
ウィザードのプレビューでは飛んだように見えるが、実際に新規テーブルに
インポートしたらしっかり空レコードも入ってた。
なんか他に条件必要か。
604:デフォルトの名無しさん
08/05/25 19:20:58
ぐっぐってみた
改行コードの違いみたいだ
ODBC経由でやるばいいらしい
@俺も試してみる
プレビューでダメだとあきらめたんで
ダイブ!
(Access2000)
605:デフォルトの名無しさん
08/05/25 19:45:48
すまん普通に出来たわ・・・
すまん・・・603さん と びる
606:デフォルトの名無しさん
08/05/27 21:22:45
救出上げ
Accessのページ皆さんどんな風に使ってます?
仕事で使ってるかた いますかー
607:デフォルトの名無しさん
08/05/27 21:39:27
ちなみにページは2007で削除されますた
608:デフォルトの名無しさん
08/05/27 23:30:09
ウエッブデベロッパー使えってこと?
609:デフォルトの名無しさん
08/05/29 21:45:01
定期救出上げ
610:デフォルトの名無しさん
08/06/02 20:09:27
マイクロソフトはAccessに力入れる気あるのかないのか
はっきりしろ
611:デフォルトの名無しさん
08/06/02 20:36:56
はっきり無いと思う。
612:デフォルトの名無しさん
08/06/02 23:48:43
Baseの出番だな
613:デフォルトの名無しさん
08/06/03 02:23:42
それはない
614:デフォルトの名無しさん
08/06/03 12:49:55
Accessは2000でほぼ完成の域に達している。
これ以上改良する余地が無い。
機能は多ければよいってもんじゃない。
615:デフォルトの名無しさん
08/06/03 22:47:18
2GBの壁
同一mdb内でのフォルダ管理ができない
テーブル・クエリの印刷設定が保存されない
わけわからんエラーもろもろ
不満はこんなとこだな。
616:デフォルトの名無しさん
08/06/03 23:18:33
>>614
ANSI SQL-92にしろ!
SQLエディタを使いやすくしろ!
いちいちクエリを作らないとSQL実行できないのめんどいんじゃなんとかしろ!
サブクエリが使えないケースがあるのを何とかしろ!
一時テーブルを作らせろ!
MDBでストアドを使わせろ!
ADPで接続先を外部に保存できるようにしろ!
ADPでSQL Server2005/2008に対応しろ!
わけわからんエラーをなんとかしろ!
VBAにスタックとキューとリストを追加しろ!
VBAでユーザー定義型をCollectionできるようにしろ!
617:デフォルトの名無しさん
08/06/03 23:51:23
>>615
> 同一mdb内でのフォルダ管理ができない
これどういう意味?
618:デフォルトの名無しさん
08/06/03 23:55:15
階層分け・区分けが出来ないって意味
619:デフォルトの名無しさん
08/06/04 00:03:36
>>616
それ実現したら.NET+SQL鯖を売りこんでるM$の自殺行為じゃね。
わざと不便にして差別化してるわけだから。
とっとと移行汁といわれて終わりな希ガス。
620:619
08/06/04 01:36:47
…と書いたものの、実現性を脇に置けば全面同意。
621:デフォルトの名無しさん
08/06/04 06:11:28
大企業はしらんが、小規模零細企業の9割以上は、
SQL鯖なんて使ってないから、いまのままで充分なんだよ。
622:デフォルトの名無しさん
08/06/04 19:43:29
改良する余地が無いとか素人がほざくからだ
623:デフォルトの名無しさん
08/06/04 19:54:44
ACCESSってまだ2G制限あるのか。10年ぶりに使おうかと思ってたのにマジかよ。
624:デフォルトの名無しさん
08/06/04 22:56:51
漏れの本職はアクセス開発一筋なんだけどね。
625:デフォルトの名無しさん
08/06/05 23:51:49
accessはレポートが有るからいいよね
C++の人とかツールとか買ってレポート作るのかな
クリスタルレポート?
デルファイは外部ツールのなんとかレポート買ったみたいだけど
626:デフォルトの名無しさん
08/06/06 00:19:34
質問があります。
日付の入力項目があり、「08/06/01」(年二桁)と表示させたいんですが、
スラッシュなしで6桁入力、スラッシュ入りで「8/4/31」入力しても
「00/00/00」の形式で表示するにはどうしたらいいでしょうか?
627:デフォルトの名無しさん
08/06/06 01:31:48
>>626
フォームだよな?>入力項目
なら、フォームの日付の入力項目に更新前・更新後イベント作って、VBAで下記のコード入れればOK。
「日付の入力項目」って所は適宜フォームのテキストボックスの名前に変えること。
' 更新前イベントでチェック
Private Sub 日付の入力項目_BeforeUpdate(Cancel As Integer)
If Not (IsDate(日付の入力項目)) And Not (Len(日付の入力項目) = 6 And IsNumeric(日付の入力項目)) Then
' 日付形式でも、6桁の数値でもない場合、エラーを表示して更新を中止
MsgBox "日付に変換できません。", vbOKOnly + vbExclamation, "エラー"
Cancel = True
End If
End Sub
' 更新後イベントで変換
Private Sub 日付の入力項目_AfterUpdate()
If IsDate(日付の入力項目) Then
' 日付形式だったら、yy/mm/ddの形式に変換する
日付の入力項目 = Format(DateValue(日付の入力項目), "yy/mm/dd")
ElseIf Len(日付の入力項目) = 6 And IsNumeric(日付の入力項目) Then
' 6桁の数値だったら、「1桁目から2桁/3桁目から2桁/5桁目から2桁」 に変換する
日付の入力項目 = Mid(日付の入力項目, 1, 2) & "/" & Mid(日付の入力項目, 3, 2) & "/" & Mid(日付の入力項目, 5, 2)
End If
End Sub
628:デフォルトの名無しさん
08/06/06 09:50:24
実質CP932限定なのを何とかして欲しい
629:デフォルトの名無しさん
08/06/06 12:13:35
>>627
ありがとうございました!非常に助かりました
こんな発想はできなかったです…
630:627
08/06/06 13:14:29
>629
漏れに感謝とかしなくていいから、藻前さんが答えてやれる質問には答えてやってくれ。
631:デフォルトの名無しさん
08/06/06 17:00:50
しかし、それを全ての日付入力項目に記述しないといけないとすると、
なにもせずデフォルトのまま使うほうが賢いんじゃねえ?
632:デフォルトの名無しさん
08/06/06 19:17:55
うん "6/6" だけですむ標準が最高
633:デフォルトの名無しさん
08/06/06 23:38:32
InputBox()関数の返値をどうにかして日付にしないといけないようなケースでは
>>627の方法一択だろうけど、テキストボックス使うなら入力規則を入力規則ウィザードで
それっぽいのに設定して書式をYY/MM/DDにしとくのが一番面倒がなくていいよ。
あとYYMMDD形式で入力させてると290101は2029年1月1日になるけど
300101は1930年1月1日と見なされる、いわゆる2030年問題があることも
一応憶えておくといいよ。
634:デフォルトの名無しさん
08/06/10 05:36:31
パスワードついたExcelファイル(拡張子.xlsx)を
Access2007でリンク貼ろうと思ったら無理とか言われる。
VBAで無理矢理リンク貼れる?
インポートでも別にいいけど無駄だし。
635:デフォルトの名無しさん
08/06/10 15:25:48
なあ、accessってホモっぽいと言ってるやつがいたんだが・・・
お前らどう思う?
access
URLリンク(www.access-web.jp)
636:デフォルトの名無しさん
08/06/12 21:30:20
それよりこのスレいつDat落ちするかの方が気になるよ
637:デフォルトの名無しさん
08/06/12 22:11:54
ACCESS2007のVBAってまだVB6ベースなのか?
てっきり.NETベースかと思ったよ。VB6関係の本、この前ぜんぶ捨てちゃったよ。。。
638:デフォルトの名無しさん
08/06/12 22:24:45
.NET対応とかわれてもADOとADO.NETて共存させられんのかよ
639:デフォルトの名無しさん
08/06/12 22:53:24
てゆうかADOとADO.NET違いが俺分かってないや
ちょっと誰か ドラえもんのような感じで説明してくれないか
スレ落ち防止も兼ねて
640:デフォルトの名無しさん
08/06/12 23:32:30
過去の資産があるだろうから切り捨てはしなくていいけど、
言語エンジンの切り替えができるようにしてほしかった。共存とかはうまくよろしくみたいな。
641:デフォルトの名無しさん
08/06/13 00:13:35
正直.NETはしなくてもいいけど、VBをやめてJScriptにしてほしい。VBまじ苦痛。
642:デフォルトの名無しさん
08/06/13 02:00:29
それは時代の違いだな。昔はパソコンでプログラムといえばBASICがメジャーだった。
Windows95とVB4のころにはBASICの経験者が結構いたからな。
643:デフォルトの名無しさん
08/06/15 19:32:13
アクセス本屋では人気あるのにP板ではにんきねえなあ
644:デフォルトの名無しさん
08/06/15 19:32:33
おっと 保守
645:デフォルトの名無しさん
08/06/17 22:16:31
わけのわからんエラーが多すぎるし、うまく多人数で使うのは至難の業だし
VBAは時代遅れの糞言語だし、唯一のとりえがレポート出力だけなのに
なんで人気でるのか
646:デフォルトの名無しさん
08/06/17 22:23:11
間違ってもC言語が入門用になるなんて考えられんけどな。
647:デフォルトの名無しさん
08/06/17 22:32:11
他人数で使おうって発想の人間には仮にエラーが出たとしても
わけわからんだろうな
648:デフォルトの名無しさん
08/06/17 22:38:21
>>647
おまえな、マイクロソフトがそのような使い方を認めているのだから
そこを完全否定することはできないぞ。おまえがやりたくなくても
客の要望や他人の引継ぎでやらされることもあるんだぞ。
想像力の欠如だな。
649:デフォルトの名無しさん
08/06/17 22:51:47
>>645
データベースとしては安いからだろ
客を説得するには十分な材料じゃね
650:デフォルトの名無しさん
08/06/20 00:23:34
無料のSQLサーバ2005+ヴィジュアルスタジオ2008 VB C#
でつくりゃ無料じゃね?
レポートはどう出すか謎だが
救出アゲ
651:デフォルトの名無しさん
08/06/20 00:46:43
そんなに必死になるほど人気がある実感はまったくないな。
652:デフォルトの名無しさん
08/06/20 01:13:17
SQL-Server2008Expressまで待てばレポーティングツールもついてくるらしいよ
653:デフォルトの名無しさん
08/06/21 15:47:39
>>652
いつまで待てば・・・・
654:デフォルトの名無しさん
08/06/22 05:26:54
特定の日付のデータを取り出そうとしてるのですが
sql = "select * from 結果出力先 where [日付]<'" & Format(hi + 1, "yyyy/MM/dd") & "' and [日付]>='" & Format(hi, "yyyy/MM/dd") & "' ;"
Set rs = cnn.OpenRecordset(sql, dbOpenDynaset)
(hiは取り出したい日付を入れた変数)
ってやってるんですが、抽象条件でデータ型が一致しませんとエラーが出てしまいます。
どこがまずいんでしょうか?
655:デフォルトの名無しさん
08/06/22 06:45:54
>>654
日付/時刻は「'」や「"」ではなく「#」で囲む
656:デフォルトの名無しさん
08/06/22 08:31:20
礼に始まり礼に終わる
655 じゃないけど なんか言うことないのか?
657:654
08/06/22 08:48:45
自己解決しました。
658:デフォルトの名無しさん
08/06/22 08:57:50
655 の立場は?
659:654
08/06/22 11:33:30
>>657は別人です。
>>655
上手くいきました。ありがとうございます。
660:デフォルトの名無しさん
08/06/22 11:41:53
>>659
sql = "select * from 結果出力先 where [日付] BETWEEN #" & Format(hi, "yyyy/MM/dd") & "# AND #" & Format(hi + 1, "yyyy/MM/dd") & "# ;"
上の抽出条件のレベルだとその書き方でもいいけど範囲で抽出できるBETWEEN使った方が後から見たとき分かりやすくなると思うよ
661:デフォルトの名無しさん
08/06/22 12:11:56
そもそも[日付]やhiに予期せず時分秒が入ってしまった場合に備えてWhere句を範囲にしてるなら
DateDiff("d",hi,[日付])=0のほうが見やすくていいよ。
662:デフォルトの名無しさん
08/06/22 15:48:02
>>660
それだと翌日00:00:00のデータも含まれちゃうよ
>>661
hiはフィールドじゃなくてVBAの変数だから
sql = "select * from 結果出力先 where DateDiff(""d"", #" & Format(hi, "yyyy/MM/dd") & "# ,[日付])=0;"
かな?DateDiffの分すこしだけ重いクエリになるみたいだけど見やすさ優先ならいいのかも
663:デフォルトの名無しさん
08/06/22 19:44:46
>>657
100点
664:デフォルトの名無しさん
08/06/26 15:32:34
AccessってTransactionとかLockとかありますか
665:デフォルトの名無しさん
08/06/26 16:47:43
DAOやADOにあるし、詳細オプションやクエリプロパティにもある。
制御可能な度合いはものによって違うけど。
666:デフォルトの名無しさん
08/06/26 21:02:06
そもそもそれはなんだ?
667:デフォルトの名無しさん
08/06/26 21:45:49
基本データベースに必要不可欠な機能だが
基本Accessに不要な機能です。
668:デフォルトの名無しさん
08/06/26 22:47:05
スタンドアローンならロックはいらないけど、トランザクションはどんなRDBでも必須だろ。
データの不整合が起きたらどうするのよ。一部トランザクションがないエンジンもあるがな。
669:デフォルトの名無しさん
08/06/28 08:33:05
不整合に気付けばいいけど
いつのまにか上書きされてて
だれも気付かない可能性大
670:デフォルトの名無しさん
08/06/28 10:58:53
スタンドアローンなら自分以外に迷惑かからないし、
自分も気づかないなら何の問題も無い。
671:デフォルトの名無しさん
08/06/28 11:04:24
自分で作って、自分で使って、自分だけしかそのシステムの情報を利用しないならOKだな
672:デフォルトの名無しさん
08/06/29 02:14:26
自分だけしかそのシステムの情報を利用しないなら
トランザクション処理は不要なんですね
ほんとうにありがとうございました
673:デフォルトの名無しさん
08/07/02 23:29:21
トランザクションの説明してくれ
排他制御との違いを語れと言いつつ
救出アゲ
674:デフォルトの名無しさん
08/07/03 00:25:13
Tran The Cushion
ペアマッチで「イエス・ノー枕」を引いてしまいガックリな新婚さん。
ところがこのアイテムはハワイ旅行に化ける確率が高いのでちょっぴりワクワクな様子。
675:デフォルトの名無しさん
08/07/03 02:03:20
>>673
はいた制御:歯科助手のおねいさんが制御してくれる・・・じゃなくてその名の通り他所からの干渉に対する制御
トランザクション制御:ファイヤーバードな制御・・・じゃなくて一連の処理の一貫性を確保するための制御
トランザクションに出来て排他に出来ない事は・・・一連の処理の途中でエラーが発生したときに処理開始前の状態を手軽に復元する事
676:デフォルトの名無しさん
08/07/05 18:21:26
ファイヤーバードな制御<<ここのギャグが分からない
677:デフォルトの名無しさん
08/07/06 14:23:56
>>676
トランザム・ファイヤーバードのことじゃね?
678:デフォルトの名無しさん
08/07/06 15:30:12
InterBaseは関係なさそう
679:デフォルトの名無しさん
08/07/06 23:00:18
トランザクションはオールオアナッシングでデータの整合性を保つ、言わば概念または目的だろ。
排他制御は具体的な手段。比較する次元が違う。
680:デフォルトの名無しさん
08/07/06 23:50:01
それもなんかズレてる
681:デフォルトの名無しさん
08/07/07 00:10:51
ズレてるか?
銀行の窓口で整理券発行する仕事と入出金後の残高を正確に記録する仕事、
同列で比較することがナンセンスって意見には俺は賛成だが。
682:age
08/07/08 20:30:05
Access の結合って、等結合、左結合、直積、の3種類しかないのですか?
683:デフォルトの名無しさん
08/07/08 20:45:57
どうでもいいが、2GBの制限があるんじゃテキストとか数値のデータだけでもすぐ容量オーバーしてしまうだろ?
実務ではどうやって運用してるんだ?
684:デフォルトの名無しさん
08/07/08 21:00:45
鯖とリンク
685:デフォルトの名無しさん
08/07/08 21:31:34
>>683
実務で使ってて、問題がないと思っているのか?
どんだけこの糞ソフトに苦しめられていることか・・・
686:デフォルトの名無しさん
08/07/08 22:07:09
たとえば?
687:デフォルトの名無しさん
08/07/08 22:16:29
>>682
・内部結合
・外部結合(左)
・外部結合(右)
・交差結合
この4パターン
688:デフォルトの名無しさん
08/07/08 22:49:32
>>684
DBはOracleとかSQL Serverとかを使うのが一般的なのかな?
それだと、GUIをAccessで作る必要も無いような気がするが。
689:デフォルトの名無しさん
08/07/08 22:52:27
ちなみに687の他にどんな結合があるんでしょうか?
690:デフォルトの名無しさん
08/07/09 05:30:22
URLリンク(homepage1.nifty.com)
691:デフォルトの名無しさん
08/07/09 11:48:52
>>688
Accessのフォーム以上に使い勝手のいいものってある?
DBはOracleとかSQL Serverで、フロントエンドはAccessってのも充分ありえるよ。
692:デフォルトの名無しさん
08/07/09 12:24:33
>>691
exeファイルを作成できず、Accessが起動してしまうのが難点じゃないかな。
動作も結構重いし、データベースの最適化が必要なのも面倒。
Oracleなんかを使う場合には、フロントエンドはJAVAとか他の言語で作ることが
多いんじゃないのかな。
693:デフォルトの名無しさん
08/07/09 19:40:04
Accessってめっさ軽いですけど
694:デフォルトの名無しさん
08/07/09 20:20:17
>>691
VBAが糞。あの糞言語まじでぶっころす
695:デフォルトの名無しさん
08/07/09 20:47:32
>>694
どの辺が糞なの?
君の理解力が糞なんじゃなくて?
696:デフォルトの名無しさん
08/07/09 20:59:27
>>693
Cとかで実行ファイルを作るのに比べると相当重いんじゃないの?
697:デフォルトの名無しさん
08/07/09 21:28:06
そうかなぁ
DBとPg一体になってる文
アドバンテージありそうだけど
698:デフォルトの名無しさん
08/07/09 21:29:47
690 頭痛くなってきましたぁああ
699:デフォルトの名無しさん
08/07/09 21:31:08
>>697
だからそのDBが2GBじゃ足りな過ぎるって話でしょ?
700:デフォルトの名無しさん
08/07/09 22:03:56
MicroSoftがAccessユーザを.Netに移行させようとしているんだが、
.Netの仕様がどうしても受け入れられん。
EnterKeyでカーソルが次に移動するとか、ComboBoxに複数列を表示する等々、
あたりまえのことでいちいち躓いている。
あらためて、Accessの良さに気付かされる毎日だ。
701:デフォルトの名無しさん
08/07/10 07:06:01
作る側からするとAccessは無いわ。
使う側からするとAccessは有るわ。
使うことで効率を上げることがEUの仕事だからAccessでお願いといわれればそうする。
手直し作り直し、果てはデータ肥大化でのDBMS移行で金ぶんどるけどさ。
702:デフォルトの名無しさん
08/07/10 07:33:46
>>696
え、DBのフロントエンドをCで?よりによって?
う、うん、きっと軽いプログラムがつくれるよ。がんばってね!
703:デフォルトの名無しさん
08/07/10 07:42:13
>>702
いやCはよく分からんのだけど、昔はVBなんかでフロントエンドを作った方が軽かったけどな。
フォームなんかの自由度はAccessの方が高かったが、実行ファイルが作れないことと、使うたびに
DBが肥大化するのが難点だったな。
704:デフォルトの名無しさん
08/07/10 10:41:17
>>702
VC++なんかはOracleのフロントエンドとして普通に使われているみたいだけどな。
そういうのがAccessより軽いのは間違いないし、AccessはDBMSのフロントエンドとして
主流とはいえないんじゃないの?
705:デフォルトの名無しさん
08/07/10 18:21:56
CとC++の区別もつかないド素人は黙ってた方がいいんじゃないの
誰もAccessが主流とか言ってないし
706:デフォルトの名無しさん
08/07/10 18:27:37
C++でもオラクルのフロントエンドでは主流じゃなかったけどな
オラクルを使うような業務系のシステムではVBが主流だった
707:デフォルトの名無しさん
08/07/10 18:48:33
>>705
あの...VC++はCのコンパイラやデバッガも含むんだけど...
C++とVC++の区別もつかないド素人に偉そうに言われても困るなw
708:デフォルトの名無しさん
08/07/10 19:56:22
OracleといえばJavaなんですが
709:デフォルトの名無しさん
08/07/10 20:40:58
Javaから始めた若者きてるな。
今でもクライアントアプリでJAVAはどうかと思うが。
710:デフォルトの名無しさん
08/07/10 22:11:28
N86BASICからはじめた漏れは、BASICが最高に思えてしまふ。
711:デフォルトの名無しさん
08/07/11 07:08:30
そんなモノは無い!!!
712:デフォルトの名無しさん
08/07/11 20:18:17
JavaってAccessより軽いのか
713:デフォルトの名無しさん
08/07/12 01:14:55
>>687
ありがとうございます。
ちなみに、右外部結合は、SQLビューアでサポートされてますか?
経験の少ない私からすると、無理やり、デザインビューで左外部結合を
するよう、促すようにに思えてしまうのですが・・・。
714:デフォルトの名無しさん
08/07/14 17:32:04
>>700
Enter移動が当たり前とか.NET以前の話だぞ
715:デフォルトの名無しさん
08/07/15 22:21:37
だからその.Net以前の仕様に慣らされたエンドユーザーの要望をどうするかって話だろ
716:デフォルトの名無しさん
08/07/15 23:34:24
そんなのリターン押したら次のコントロールにフォーカス移すだけやん。何がむずい
717:デフォルトの名無しさん
08/07/16 05:43:00
IME周りじゃね?
718:デフォルトの名無しさん
08/07/17 14:16:36
>>715
>>700が挙げてる仕様って.NETの仕様じゃないじゃん
719:デフォルトの名無しさん
08/07/18 10:04:21
アク禁やっととれた!
エンターで遷移するってことは、ボタンにフォーカスが移ったときどうするの?
10年以上前、それでどうしようもなくてお客さんに「Windowsでの遷移はタブでないとだめなんです」って説明してなれてもらった。
当時はオフコンの名残があってエンターで遷移が基本だったからね。ファンクションキーで決定。
720:デフォルトの名無しさん
08/07/18 10:17:54
タブ移動だと、両手を使わなきゃならないから、作業効率が悪くなる。
右手だけで操作できるほうがいいにきまっている。
721:デフォルトの名無しさん
08/07/18 10:24:09
それはいいけど、ボタンにフォーカスがあたったときどうするの?
エンターで遷移じゃボタン押せないじゃん。スペースキーで決定とか?
722:デフォルトの名無しさん
08/07/18 13:05:54
基本的にコマンドボタンはタブ移動プロパティOFFにしとくだろ・・・
エンター何回押そうとボタンにフォーカスが移ることはないようにしとく。
あるいは流れるような入力の最後にだけ決定ボタンに移動して
その時だけは押されるようにするとか。
723:デフォルトの名無しさん
08/07/18 17:50:51
ボタンにタブで移動できないとかマジ最低、ありえない
724:デフォルトの名無しさん
08/07/18 17:53:39
キーボードでボタンに遷移しなかったら結局マウス使うじゃん。マウスは右手だからOKなのか?
作業効率のためにキーボードオンリーで操作できるようにしてるのに、そっちの方がはるかに意味がないだろ。
最後に遷移する方法だって、決定ボタンだけならともかく普通キャンセルボタンもあるし、
一度ボタンにフォーカスがあたったらキーボードだけでフォーカスをはずすことはできないことになる。
しかも遷移とボタン押下を同じエンターキーにすると、勢いでボタンを押下したりしがち。
仕様的にも摩訶不思議になるからユーザーが覚えづらいし、操作の矛盾が出て変なルールが増える可能性も大きい。
こんな問題が今でも議論の対象になるとは。無理な仕様の積み重ねはデスマーチの元なのだが。
725:デフォルトの名無しさん
08/07/18 17:59:08
そりゃキャンセルボタンも用意するけど頻度的に稀な機能はマウス押下オンリーでも
別に円滑な入力を阻害するものじゃないだろ。
こんな問題が今でも議論の対象になるとは。
726:デフォルトの名無しさん
08/07/18 18:03:49
>>724
.Netの仕様は知らないが少なくともAccessのフォームは
ボタンのフォーカスを←→キーで前後のコントロールに動かせる。
727:デフォルトの名無しさん
08/07/18 18:20:28
>>726
>>722が言うようにタブストップをFalseにするとカーソルキーも効かないから
728:デフォルトの名無しさん
08/07/18 18:39:09
このコントロールはエンター、
このコントロールはカーソルキーで移動してくださいってどんな泥沼システムだよ。
729:デフォルトの名無しさん
08/07/18 18:47:45
>>727
タブストップ=Trueで移動してきた決定ボタンのことを言ってるつもりだったんだが
730:デフォルトの名無しさん
08/07/18 19:00:41
>>728
テキストボックスとコマンドボタンは機能が違うことは誰でもわかるから、操作が違っていても違和感は与えないよ。
731:デフォルトの名無しさん
08/07/18 19:07:37
>>729
ああ>>724の
>一度ボタンにフォーカスがあたったらキーボードだけでフォーカスをはずすことはできないことになる。
これに対してね、なるほど
タブキーでも外せるよね
732:デフォルトの名無しさん
08/07/18 19:21:18
中途半端にWindowsライクな操作性にされるとストレスがたまる。
コマンドボタンを排除して昔ながらのファンクションキー操作に戻れば万事解決。
733:デフォルトの名無しさん
08/07/18 20:25:20
>>730
普通のユーザーは混乱すると思うけど
734:デフォルトの名無しさん
08/07/18 21:23:26
>>731
結局タブキーかよw
735:デフォルトの名無しさん
08/07/18 23:53:16
>>733
Windows自体がボタンにフォーカスがある時にエンターキー押下でクリックと同じ動作だから、
普通のユーザーはボタンで混乱しないと思う。
自分の経験から言えば、初心者はテキストボックスの移動をエンターキーではやらずに、マウスで選択移動する。
エンターキーでの移動を実演すると感心される、同様にカーソルキーでのボタンのフォーカス移動も感心される。
タブキーを使うフォーカス移動を実際にしている人って自分以外で見たことが無いです。
736:デフォルトの名無しさん
08/07/19 18:30:39
>>735
>タブキーを使うフォーカス移動を実際にしている人って自分以外で見たことが無いです。
ホストの世界から舞い戻ったゾンビには当たり前だのクラッカーですが?
737:デフォルトの名無しさん
08/07/19 19:06:32
>>736
普通の人の話をしていると思っていたのだが?
738:デフォルトの名無しさん
08/07/19 19:12:49
えてして皆自分は普通だと言い張るもの
739:デフォルトの名無しさん
08/07/19 23:26:42
相手が初心者ならタブの遷移を教えてやれよ。まだ癖がついてないんだから。
ほかのWindowsソフトはほとんどそれが標準だしブラウザだって同じじゃん。
なんでほかで通用しないローカル操作を教えるのかわからん。ユーザーが気の毒すぎる。
740:デフォルトの名無しさん
08/07/20 03:11:40
Tabキーに遷移機能が標準的に実装されているかどうかと
一般的なユーザーに標準的に使用されてるかどうかは全然別の話。
ユーザーが気の毒って観点からならエンター遷移を実現して欲しいという
ユーザーの要望を切り捨てて煩雑な両手入力を強制するシステムのほうが
よっぽどユーザーにとって気の毒な話だろうに。
741:デフォルトの名無しさん
08/07/20 12:42:02
入力で片手しか使わないってことは、ほとんど数字の入力だけってこと?
742:デフォルトの名無しさん
08/07/20 13:12:57
まあそういう要求はあるんだろ
タブキーが付いてるUSBテンキーとか売ってるもんな
743:デフォルトの名無しさん
08/07/20 13:33:47
へ~、そんなの売ってるのか。知らなかった。
744:デフォルトの名無しさん
08/07/20 15:55:56
>>739
大量に伝票入力するような場合は、入力効率が重要なんだよ。
MS製品の中で、アクセスだけがEnter遷移を採用したのは
そういうニーズを無視できなかったからだろう。
745:デフォルトの名無しさん
08/07/20 16:14:19
左手に伝票の束を100枚ぐらいを抱えながら、
右手でテンキーを叩いて一枚ずつひたすら入力するって業務を
毎日毎日行うシステムではタブキーで遷移とか絶対にありえんから。
746:デフォルトの名無しさん
08/07/20 16:55:16
言いたいことは全面的に支持するが、
それこそそんなアプリをAccessで作るなんて絶対にありえんから。
747:デフォルトの名無しさん
08/07/20 17:32:12
客は多いけど単価の安い仕事してる中小企業だとありそうな話
748:デフォルトの名無しさん
08/07/20 17:33:40
ACCESSがエンターキーをサポートしてるのは、
昔ホストとかワークステーションとかオフコンとかの影響がまだ強かったからだろ。
今更変えても混乱するだろうし。
伝票の入力って数字だけじゃないぞ。勘定科目の選択とか摘要とかどうするんだよ。
摘要は必須じゃないけどな。会計のこと全然知らないだろ。
749:デフォルトの名無しさん
08/07/20 18:19:19
勘定科目にはコードがついているから、文字入力することは無い。
摘要にしても、頻度の高いものはコード化する。
充分作りこまれたものほど、数字だけで入力できるようになっている。
750:デフォルトの名無しさん
08/07/20 19:02:24
コード全部覚えるのか・・・
751:デフォルトの名無しさん
08/07/20 19:07:39
毎日入力してりゃ嫌でも覚える
752:デフォルトの名無しさん
08/07/20 19:18:36
昔は入力専門の仕事があってコード覚えてやってたけど、
そのやり方ならほとんどGUIいらないな
753:デフォルトの名無しさん
08/07/20 21:00:55
インクリメンタルサーチ機能を使えば、コードを完全に覚えている必要は無い。
754:デフォルトの名無しさん
08/07/20 23:15:19
インクリメンタルサーチじゃ科目名までは出てこないだろ。
それは最後の数文字分の入力が少し省力化できるだけであって、
結局のところどのコードがどの科目か覚えてないと、最初の数字の
入力からアウトじゃないのか。
755:デフォルトの名無しさん
08/07/21 00:13:53
頻度のばらけ方にもよるよ。
仮に100や200の内から1つを選択するコンボボックスだったとしても
全体の2割程度を覚えてしまえば全入力の8割は賄えるケースとかは普通にある。
よっぽどの馬鹿じゃなければ入力作業を毎日こなしていくうちに
覚える割合はどんどん上がるし、それにつれて作業の効率も飛躍的に上がっていく。
というか覚えれば覚えるほど作業がラクになるならそれがモチベーションになって
人間けっこう多くのことを覚えちゃうもんだよw
756:デフォルトの名無しさん
08/07/21 02:54:54
URLリンク(www.vshopu.com)
こういうキーボードがあるぐらいだ
757:デフォルトの名無しさん
08/07/21 08:18:11
高けえ~。
tabキーがついてるテンキーがあるってことだったから、
Shift+tabキーとかあれば便利じゃないか?と思ったがこれにはついてるようだな。
おれが考えることなんてとっくに実現されているか。