■
"part / --asprimary --bytes-per-inode=4096 --fstype=""ext3"" --ondisk=sda --size=2048",,,,,,,,,,,, "part /boot --asprimary --bytes-per-inode=4096 --fstype=""ext3"" --ondisk=sda --size=512",,,,,,,,,,,, "part /opt --bytes-per-inode=4096 --fstype=""ext3"" --ondisk=sda --size=1025",,,,,,,,,,,, "part /var --bytes-per-inode=4096 --fstype=""ext3"" --ondisk=sda --size=1026",,,,,,,,,,,, "#part /etc --bytes-per-inode=4096 --fstype=""ext3"" --ondisk=sda --size=1027",,,,,,,,,,,, "#part /home --bytes-per-inode=4096 --fstype=""ext3"" --ondisk=sda --size=1028",,,,,,,,,,,, "part swap --bytes-per-inode=4096 --fstype=""swap"" --ondisk=sda --size=1000",,,,,,,,,,,, ,,,,,,,,,,,,type ,/,1024,2048,2097152,,2048,,2030768,,1,250,83 ,/boot,1024,512,524288,,512,,505604,,251,313,83 ,/opt,1024,1025,1049600,,1024,,1019208,,314,438,83 ,,,,,,,,,,439,2610,5 ,/var,1024,1026,1050624,,1536,,1524940,,439,626,83 ,/etc,1024,1027,1051648,,2560,,,,627,938,83 ,/home,1024,1028,1052672,,3072,,3050092,,939,1312,83 ,swap,1024,1000,1024000,,1000,,,,1313,1435,82 ,,,512,,,,,,,1024 sda1,boot,522081,1019.689453,,1024,,boot,522081,,509.8447266 sda2,/,2096482,4094.691406,,1,1536,/,2096482,,2047.345703 sda3,var,1052257,2055.189453,,2,2048,home,3148740,,3074.941406 sda4,,17293972,33777.28906,,3,2560,,,,0 sda5,opt,1052226,2055.128906,,4,3072,var,1574338,,1537.439453 sda6,swap,1020096,1992.375,,5,3584,opt,1052226,,1027.564453 ,,,,,6,4096,swap,1020096,,996.1875 ,,,,,7,4608,,,, ,,,,,8,5120,,,,
ks3.cfg --------------------------------------------- #platform=x86, AMD64, or Intel EM64T # System authorization information auth --useshadow --enablemd5 # System bootloader configuration bootloader --location=mbr # Clear the Master Boot Record zerombr # Partition clearing information clearpart --all --initlabel # Use graphical install graphical # Firewall configuration firewall --enabled # Run the Setup Agent on first boot firstboot --disable # System keyboard keyboard us # System language lang en_US # Installation logging level logging --level=info # Use CDROM installation media cdrom # Network information network --bootproto=dhcp --device=eth0 --onboot=on #Root password rootpw --iscrypted $1$AcBq0OyQ$gZm05wEaZx7hWCVG.37HP1 # SELinux configuration selinux --enforcing # System timezone timezone America/New_York # Install OS instead of upgrade install # X Window System configuration information xconfig --defaultdesktop=GNOME --depth=8 --resolution=640x480 # Disk partitioning information part / --asprimary --fstype="ext3" --ondisk=sda --size=2048 part /boot --asprimary --fstype="ext3" --ondisk=sda --size=512 part /opt --fstype="ext3" --ondisk=sda --size=1024 part /var --fstype="ext3" --ondisk=sda --size=1536 #part /etc --fstype="ext3" --ondisk=sda --size=2560
# Disk partitioning information part / --asprimary --fstype="ext3" --ondisk=sda --start=1 --end=250 part /boot --asprimary --fstype="ext3" --ondisk=sda --start=251 --end=313 part /opt --fstype="ext3" --ondisk=sda --start=314 --end=438 #part --ondisk=sda --type=5 --start=439 --end=2610 part /var --fstype="ext3" --ondisk=sda --start=439 --end=626 #part /etc --fstype="ext3" --ondisk=sda --start=627 --end=938 part /home --fstype="ext3" --ondisk=sda --start=939 --end=1312 part swap --fstype="swap" --ondisk=sda --start=1313 --end=1435
# Disk partitioning information part / --asprimary --fstype="ext3" --ondisk=sda --start=1 --end=250 --label=/ part /boot --asprimary --fstype="ext3" --ondisk=sda --start=251 --end=313 --label=/boot part /opt --fstype="ext3" --ondisk=sda --start=314 --end=438 --label=/opt #part --ondisk=sda --type=5 --start=439 --end=2610 part /var --fstype="ext3" --ondisk=sda --start=439 --end=626 --label=/var part /tmp --fstype="ext3" --ondisk=sda --start=627 --end=938 --label=/tmp part /home --fstype="ext3" --ondisk=sda --start=939 --end=1312 --label=/home part swap --fstype="swap" --ondisk=sda --start=1313 --end=1435
[root@localhost ~]# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda2 1945132 1090744 753984 60% / /dev/sda7 2909956 70028 2689724 3% /home /dev/sda6 2427580 69300 2232976 4% /tmp /dev/sda5 1462700 57580 1329620 5% /var /dev/sda3 972564 17656 904708 2% /opt /dev/sda1 490020 16480 448238 4% /boot tmpfs 517352 0 517352 0% /dev/shm [root@localhost ~]# fdisk /dev/sda Disk /dev/sda: 21.4 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sda1 * 251 313 506047+ 83 Linux /dev/sda2 1 250 2008093+ 83 Linux /dev/sda3 314 438 1004062+ 83 Linux /dev/sda4 439 2610 17446590 5 Extended /dev/sda5 439 626 1510078+ 83 Linux /dev/sda6 627 938 2506108+ 83 Linux /dev/sda7 939 1312 3004123+ 83 Linux /dev/sda8 1313 1435 987966 82 Linux swap / Solaris Partition table entries are not in disk order
sda1 boot 251 313 sda2 / 1 250 sda3 opt 314 438 sda4 sda5 var 439 626 sda6 tmp 627 938 sda7 home 939 1312 sda8 swap 1313 1435
日付の入力チェック
テキストボックスで年月日で日付を入力する時、月まで入れて日を入力せずに
Format(文字列,"yyyyy/mm/dd")でフォーマットすると、勝手に1日が設定されてしまいます。
そこで、日が入力されていない事をチェックする必要があります。
で、splitで文字列を分割して、配列のサイズを確認する方法を考えました。
肝はuBound関数です。
Dim str() As String
Dim cnt As Integer
str = Split(Me.txt振替日, "/", , vbBinaryCompare)
cnt = UBound(str)
MsgBox (cnt)
If cnt < 2 Then
MsgBox "error 2"
Else
If str(2) = "" Then
MsgBox "error 1 "
End If
End If
End Sub
アクセスのフォームエラー
Accessのフォームエラー一覧
http://dbhikaku.web.fc2.com/jet_error.html
フォームエラーの回避は
Private Sub Form_Error(DataErr As Integer, Response As Integer) Select Case DataErr Case 3163 MsgBox "入力文字数が長すぎます。" Response = acDataErrContinue 'Accessエラーダイアログを表示しない Case 3341 MsgBox "個人コードが一致しませんよぉ。" Response = acDataErrContinue 'Accessエラーダイアログを表示しない Case 2116 Response = acDataErrContinue 'Accessエラーダイアログを表示しない Case Else Response = acDataErrDisplay 'Accessエラーダイアログ表示 End Select End Sub
Access2007 Runtimeで、セキュリティの問題が発生したら
http://macoto.blog.so-net.ne.jp/2009-03-21
サンプルコード
Option Compare Database Private Sub Form_AfterUpdate() ' Set rs = Me.Recordset.Clone ' rs.Edit ' rs.振替日 = Form_フォーム1.txt振替日 ' If IsNull(rs.登録日時) Then ' rs.登録日時 = Now() ' End If ' rs.更新日時 = Now() ' rs.Update ' Set rs = Nothing ' Me.Recalc End Sub Private Sub 金額_BeforeUpdate(Cancel As Integer) MsgBox "befor金額" Dim cr As Integer cr = Me.CurrentRecord Me.振替日 = Form_フォーム1.txt振替日 If IsNull(Me.登録日時) Then Me.登録日時 = Now() End If Me.更新日時 = Now() ' Me.Recalc End Sub
フォーム
Option Compare Database Private Sub btn検索_Click() On Error GoTo Err_btn検索_Click Dim db As DAO.Database Dim rs As DAO.Recordset Dim sql As String Set db = CurrentDb Set rs = db.OpenRecordset("T_ヘッダー", dbOpenDynaset) rs.Filter = "委託者コード='" & txt委託者コード & "'" Set rs = rs.OpenRecordset() If rs.RecordCount = 0 Then If MsgBox("該当レコードはありません。追加しますか?", vbOKCancel) Then If DCount("委託者コード", "自動集金先", "委託者コード='" & txt委託者コード & "'") = 0 Then MsgBox ("自動集金先にありません") GoTo Exit_btn検索_Click Else sql = "" sql = "INSERT INTO T_ヘッダー (委託者コード,振替日,入力件数,入力金額) values ('" & txt委託者コード & "','" & txt振替日 & "','" & txt入力件数 & "','" & txt入力金額 & "');" db.Execute (sql) txt入力件数 = 0 txt入力金額 = 0 sql = "" sql = "select * from Q_結合テーブル where 委託者コード = '" & txt委託者コード & "';" Form_クエリ1のサブフォーム.RecordSource = sql End If End If Else txt振替日 = rs!振替日 txt入力金額 = rs!入力金額 txt入力件数 = rs!入力件数 sql = "" sql = "select * from Q_結合テーブル where 委託者コード = '" & txt委託者コード & "';" Form_クエリ1のサブフォーム.RecordSource = sql End If ' DoCmd.GoToRecord , , acFirst ' Screen.PreviousControl.SetFocus ' DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70 Exit_btn検索_Click: Set rs = Nothing Set db = Nothing Exit Sub Err_btn検索_Click: MsgBox Err.Description Resume Exit_btn検索_Click End Sub Private Sub txt委託者コード_AfterUpdate() ' Dim rs2 As DAO.Recordset ' ' Set rs2 = Form_フォーム1.Recordset.Clone ' Do Until rs2.EOF ' If Me.txt委託者コード = rs2![委託者コード] Then ' Me.txt登録金額 = Me.CurrentRecord ' GoTo exit_loop ' Else ' rs2.MoveNext ' End If ' Loop 'exit_loop: ' Me.Recalc ' Me.クエリ1のサブフォーム.Requery End Sub
http://www.accessclub.jp/dao/16.html
http://www.sanryu.net/acc/tips/tips97.htm
http://www.accessclub.jp/samplefile/samplefile_185.htm
http://ww3.tiki.ne.jp/~kaya/Ac_tips.html#Tips8_001
http://www.accessclub.jp/bbs3/0261/superbeg81198.html
http://www.geocities.jp/cbc_vbnet/kisuhen/docmd.html
http://www.geocities.jp/cbc_vbnet/DAO/database.html#form
合計金額
サブフォーム(クエリ1のサブフォーム)のフッターに
テキスト22
=sum([金額])
メインフォームの金額欄に
=[クエリ1のサブフォーム].[Form].[テキスト22]
VBAだとこんな感じ。固定長に切る
Const ForAppending = 8 Dim myFileSystem As New Scripting.FileSystemObject Dim mytextFileIn As Scripting.TextStream Dim mytextFileOut As Scripting.TextStream Dim buf As String buf = "" Set mytextFileOut = myFileSystem.OpenTextFile("c:\temp\sample.txt", ForAppending, TristateFalse) Set mytextFileIn = myFileSystem.OpenTextFile("c:\temp\FMKGNK01-01.txt", ForReading, TristateFalse) Do While mytextFileIn.AtEndOfStream <> True buf = buf + mytextFileIn.Read(1) 'ここで固定長分になるまで、1文字ずつ格納する。ああ、泥臭 If LenBA(buf) = 577 Then mytextFileOut.WriteLine (buf) buf = "" End If Loop mytextFileIn.Close mytextFileOut.Close
もう少し簡単な構文でと思ったが、この書き方だとデータが””で括られてしまうので没
あと、データの先頭が空文字だと無視しちゃうorz
Dim fileno As Integer Dim buf As String Dim buf2 As String Dim ii As Long Open "c:\temp\銀行テストデータ-本番抽出改行なし.txt" For Input As #1 Open "c:\temp\sample2.txt" For Output As #2 Do Until EOF(1) Input #1, buf For ii = 1 To Len(buf) buf2 = buf2 + Mid(buf, ii, 1) If LenBA(buf2) = 575 Then Write #2, buf2 + x0d buf2 = "" End If Next Loop
ここで、文字数ではなくて文字のバイト長を求める関数。
出典はここ
Public Function LenBA(ByVal strX As String) As Long 'ANSI 文字列でのバイト長を求める Dim strBA As String strBA = StrConv(strX, vbFromUnicode) LenBA = LenB(strBA) End Function
dynabook AZのアップデート
イギリス旅行では大活躍してくれたdynabookAZ君だけれど、ここの所あまり触っていなかった。
やっぱり無線LANの接続が出来ないのが痛い。
で、ふと思ってググってみたら、dynabookAZ用のandroid2.2が出ているじゃないですか。
これで対応できるソフトも増えてくれれば、別にubuntuじゃなくても良いし、androidなら無線LANは問題なく使える。
よっしゃぁ!と思って、アップデートを開始。
アップデート用のパッケージをダウンロードして、インストールを開始。
で、一旦再起動してきたのだけれど、何気にubuntuが起動してくる。
ああ、そうなんだぁorz
ubuntuは、リカバリー用の起動イメージを書き換えて、SDカードから読み込むように変更しているから、OSのアップデート時にリカバリー用の起動イメージから起動しようとすれば、こうなってしまうんだ。
さて、どうしたものか?
これでリカバリー用の起動イメージを元に戻して、androidが起動できるだろうか?と言うかそうしないと、二度とandroidの画面を見る事は出来なくなってしまいそうだ。
という事で、ubuntuを導入した手順を再確認。