2012年10月31日水曜日

CSVファイルの取り込み後のデータをDBに追加するには


call DbOpen  'DB接続モジュール

  MySQL = "SELECT * FROM テーブル名"
  MyREC.Open MySQL, MyRDB, 3, 3, 1

  Set fs = CreateObject("Scripting.FileSystemObject")
  filename=server.mappath("../k_mem/" & newf1)
  Set readfile=fs.OpenTextFile(filename,1,False)

  Do while not readfile.atendofstream
    count=count+1
     if count>1 then
      Text=readfile.readline
       data = split(Text, ",")   'CSV ファイルは,で分割されている前提
       MyREC.addnew
      MyREC(列名A)=right(100000000000+data(2),10)  'CSV3要素目のデータで桁数併せ                                       のため0で穴埋め
      MyREC("列名B")=data(3)               '4要素目のデータ
      MyREC("列名C")="01"                 'CSVから取り込まず、固定値
      MyREC.update
      dummy=left(data(1),10)
    end if
  loop
  readfile.close
  set readfile=nothing
  set fs=nothing

call c_DbClose()  'DB切断モジュール

★例: Split(text ,",",3,1) カンマ区切りデータの3要素をテキスト形式で比較します。

     Split(text ,",") カンマ区切りデータの全ての要素をバイナリ形式で比較します。

2012年8月16日木曜日

テーブルをそのままコピーするには

既存テーブルをデータごとコピーしたいときは(Microsoft SQL)

  SELECT * INTO 新テーブル名 FROM 元テーブル名

新テーブルは前もってデータの定義をする必要などありませんが
KEY属性はコピーされないので、コピー後設定します。



2012年8月7日火曜日

リンク先の変更モジュール

アップロード先のサーバのディレクトリーがLocalと異なっており、参照テーブルがある場合、
Loacalでリンクテーブルの参照先を前もって変更しておく必要があります。
以下モジュールを実行後、サーバにアップします。



Option Compare Database
Option Explicit
Sub リンク先DBの変更()
    Dim strOldPath As String
    Dim strNewPath As String
   
    'strOldPath = リンク元のファイルのパス(変更前)
    'strNewPath = リンク元のファイルのパス(変更後)
   
    strOldPath = "F:\AAAA\BBBB.mdb"
    strNewPath = "D: \AAAA\BBBB.mdb "
   
   
    Dim tbl As TableDef
    For Each tbl In CurrentDb.TableDefs
        If (tbl.Connect <> "") Then
            tbl.Connect = Replace(tbl.Connect, strOldPath, strNewPath)
            tbl.RefreshLink
        End If
    Next

End Sub



2012年6月22日金曜日

連番を初期化


  1. テーブルのデータを削除後、連番を初期化する場合
    DBCC CHECKIDENT ("テーブル名", RESEED,0)
        1からスタートします。
  2. テーブルのデータを一部削除後、最大値の追番を振りたい場合
    DBCC CHECKIDENT ("テーブル名", RESEED,3)
      4からスタートします。

2012年6月16日土曜日

Webサイトにデータベースの内容を表示せず、ダイレクトにexcelファイルで保存するには

Webサイトにデータベースの内容を表示せず、ダイレクトにexcelファイルで保存するには

  1. <meta><html>を以下設定に変更します。
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" />
    </head>
    <html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">

      ※ charset=shift_jis" は文字化けを防ぐ為
  2. <html>内でデータベースにアクセスし<table>タグを利用してデータをかきだします。
    列名は MyREC.fields(i).nameで取得することができます。
  3. エクセルに出力したときに数字-数字や数字/数字で表示されている列は
    日付けとして出力してしまうので str を使って文字列として出力させます。

    response.write "<td x;str>" & MyREC(i) & "</td>"
  4. </html>の下に以下を追加します。
    <%
       response.flush   'バッファに格納されているデータを出力
         response.end      'aspの処理を終了
    %>

ラジオボタンが小さくてタップしにくい

PC用のサイトのまま、スマートフォン用にラジオボタンの縦横の幅を大きくすると
PC用画面での見栄えが悪くなってしまいます。
とりあえずの方法として
  1. CSSに以下を追加 (文字列を少し大きめに)
    label  {
      font-size:1.2em;
    }
  2. ラジオボタンの前後を<label>で囲む
      <label onclick="radio_on;">
        <input type="radio" name="xxx" value="yyy" onclick="function2;" />文字列
        </label>
  3. function1に該当する部分をダミーで作成
    <script type="text/javascript">
       function radio_on() {

       }
    </script>
  ※ラジオボタンを<label>で囲むことで文字列の領域もタップの範囲となります。
   onclick部分がないとiPhoneでは正しく動作しません。



     

2012年4月29日日曜日

四捨五入

四捨五入でroundを使用しない


  • round(2.25,1) → 2.2
  • formatnumber(2.25,1) → 2.3


2012年4月18日水曜日

データ追加と更新


※1 call DbOpen()  
  MySQL="SELECT テーブル名.* FROM テーブル名 where 条件
  MyREC.Open MySQL, MyRDB,3,3

  If MyREC.EOF = true then 'レコードがなければ挿入 新規行を追加
    MyREC.AddNew
    MyREC.Fields("列名1").value=値

    MyREC.Fields("列名2").value=値


  else
    MyREC.Fields("列名2").value=値
  end if

   MyREC.Update  
※2  call b_DbClose
 
※部分はインクルードファイルの中で定義しておく

'===============================
'  ※1DB OPEN (SQL サーバ認証の場合)
'===============================
function DbOpen()
'##### コネクションオブジェクトの生成 #####
Set MyRDB = Server.CreateObject("ADODB.Connection")

'##### レコードセットオブジェクトの生成 #####
Set MyREC = Server.CreateObject("ADODB.Recordset")
      Set MyCMD = Server.CreateObject("ADODB.Command")

MyRDB.ConnectionString = "Provider=SQLOLEDB; Data Source='サーバー名'; Initial Catalog=データベース名;User ID=ログイン名;Pwd=パスワード;"
    MyRDB.Open
end function

'===============================
'  ※2DB CLOSE
'===============================
function c_DbClose()
MyREC.Close
set MyREC = Nothing
MyRDB.close
set MyRDB = Nothing
end function

親ディレクトリーのインクルードファイルを参照させる


  1. IISを開く
  2. 該当のサイトを選択
  3. IISの中の「ASP」をダブルクリック
  4. 分類<動作>の中の親パスを有効にするをTrueにする。

2012年3月22日木曜日

windows server 2008R2 でIEが操作しにくい

Windows Server 2008R2インストール後、IEのセキュリティが固く、何かをクリックするたびにメッセージがでてしまう。


  • サーバーマネージャー」を起動しセキュリティー情報欄の右下にある「IE ESCの構成」をクリック
  • セキュリティ強化構成の中で「Administrators」グループは OFFにする。


2012年3月16日金曜日

64bit版環境でBasp21を利用するには


  1. IISを起動し接続リストのサーバ名をクリック
  2. 操作ウィンドウの中の[アプリケーションプールを表示]をクリック
  3. 「アプリケーションプールの既定の設定」をクリック
  4. <アプリケーションプールの既定値>ウィンドウが開く
  5. 「全般」タブ内の【32ビットアプリケーションの有効化】TRUEにする

2012年2月28日火曜日

リモートアクセス ポート番号の変更手順

リモートアクセス ポート番号の初期値は3389


  1. 【スタート】 → 【ファイル名を指定して実行】 名前欄に regedit と入力し 【OK】
  2. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Top
    の中の「PortNumber」で右クリックし【修正】を選択
  3. 表記は10進数を選択し、値データ欄に変更したいポート番号を入力して【OK】
  4. 【管理ツール】 → 【セキュリティが強化されたWindows ファイアウォール】を選択
  5. 【受信の規則】で右クリックし、【新しい規則】を選択、規則の種類は「ポート」を選択
  6. 【プロトコルおよびポート】は「TCPIP」を選択し【特定のローカルポート】欄に(3)で設定したポート番号を入力し【次へ】
  7. 【操作】は「接続を許可する」を選択し【次へ】
  8. 【プロファイル】は右欄3箇所にチェックマークが入っていることを確認し【次へ】
  9. 任意の名前(作成したポリシーの名前となる)を付けて完了
  10. 受信の規則欄に作成した名前が登録されたことを確認
  11. 再起動する。
  12. 従来の固定IPアドレスではリモート接続できないことを確認
  13. IPアドレス:xxxxx (xxxxxは(3)で登録したポート番号)で接続できることを確認
※参考: Windows serverのポートとプロトコル(出展:http://support.microsoft.com/kb/832017/ja#5
ポートプロトコルアプリケーション プロトコルシステム サービス名
なしGREGRE (IP プロトコル 47)ルーティングとリモート アクセス
なしESPIPSec ESP (IP プロトコル 50)ルーティングとリモート アクセス
なしAHIPSec AH (IP プロトコル 51)ルーティングとリモート アクセス
7TCPEcho簡易 TCP/IP サービス
7UDPEcho簡易 TCP/IP サービス
9TCPDiscard簡易 TCP/IP サービス
9UDPDiscard簡易 TCP/IP サービス
13TCPDaytime簡易 TCP/IP サービス
13UDPDaytime簡易 TCP/IP サービス
17TCPQuotd簡易 TCP/IP サービス
17UDPQuotd簡易 TCP/IP サービス
19TCPChargen簡易 TCP/IP サービス
19UDPChargen簡易 TCP/IP サービス
20TCPFTP 既定データFTP Publishing Service
21TCPFTP コントロールFTP Publishing Service
21TCPFTP コントロールアプリケーション層ゲートウェイ サービス
23TCPTelnetTelnet
25TCPSMTP簡易メール転送プロトコル
25TCPSMTPExchange Server
42TCPWINS レプリケーションWindows インターネット ネーム サービス
42UDPWINS レプリケーションWindows インターネット ネーム サービス
53TCPDNSDNS サーバー
53UDPDNSDNS サーバー
53TCPDNSインターネット接続ファイアウォール/インターネット接続の共有
53UDPDNSインターネット接続ファイアウォール/インターネット接続の共有
67UDPDHCP サーバーDHCP サーバー
67UDPDHCP サーバーインターネット接続ファイアウォール/インターネット接続の共有
69UDPTFTPTrivial FTP Daemon Service
80TCPHTTPWindows Media サービス
80TCPHTTPWorld Wide Web 発行サービス
80TCPHTTPSharePoint Portal Server
88TCPKerberosKerberos キー配布センター
88UDPKerberosKerberos キー配布センター
102TCPX.400Microsoft Exchange MTA Stacks
110TCPPOP3Microsoft POP3 サービス
110TCPPOP3Exchange Server
119TCPNNTPネットワーク ニュース転送プロトコル
123UDPNTPWindows Time
123UDPSNTPWindows Time
135TCPRPCメッセージ キュー
135TCPRPCリモート プロシージャ コール
135TCPRPCExchange Server
135TCPRPC証明書サービス
135TCPRPCクラスター サービス
135TCPRPC分散ファイル システム
135TCPRPC分散リンク トラッキング
135TCPRPC分散トランザクション コーディネーター
135TCPRPC分散ファイル システム レプリケーション サービス
135TCPRPCFax サービス
135TCPRPCMicrosoft Exchange Server
135TCPRPCファイル レプリケーション サービス
135TCPRPCグループ ポリシー
135TCPRPCローカル セキュリティ機関
135TCPRPCRemote Storage Notification
135TCPRPCリモート記憶域サーバー
135TCPRPCSystems Management Server 2.0
135TCPRPCターミナル サービス ライセンス
135TCPRPCターミナル サービス セッション ディレクトリ
137UDPNetBIOS 名前解決Computer ブラウザー
137UDPNetBIOS 名前解決Server
137UDPNetBIOS 名前解決Windows インターネット ネーム サービス
137UDPNetBIOS 名前解決Net Logon
137UDPNetBIOS 名前解決Systems Management Server 2.0
138UDPNetBIOS データグラム サービスComputer ブラウザー
138UDPNetBIOS データグラム サービスメッセンジャー
138UDPNetBIOS データグラム サービスServer
138UDPNetBIOS データグラム サービスNet Logon
138UDPNetBIOS データグラム サービス分散ファイル システム
138UDPNetBIOS データグラム サービスSystems Management Server 2.0
138UDPNetBIOS データグラム サービスライセンス ログ サービス
139TCPNetBIOS セッション サービスComputer ブラウザー
139TCPNetBIOS セッション サービスFax サービス
139TCPNetBIOS セッション サービスパフォーマンス ログと警告
139TCPNetBIOS セッション サービス印刷スプーラー
139TCPNetBIOS セッション サービスServer
139TCPNetBIOS セッション サービスNet Logon
139TCPNetBIOS セッション サービスリモート プロシージャ コール ロケーター
139TCPNetBIOS セッション サービス分散ファイル システム
139TCPNetBIOS セッション サービスSystems Management Server 2.0
139TCPNetBIOS セッション サービスライセンス ログ サービス
143TCPIMAPExchange Server
161UDPSNMPSNMP サービス
162UDPSNMP Traps OutboundSNMP トラップ サービス
389TCPLDAP サーバーローカル セキュリティ機関
389UDPDC ロケータローカル セキュリティ機関
389TCPLDAP サーバー分散ファイル システム
389UDPDC ロケータ分散ファイル システム
389UDPDC ロケータNetlogon
389UDPDC ロケータKerberos キー配布センター
443TCPHTTPSHTTP SSL
443TCPHTTPSWorld Wide Web 発行サービス
443TCPHTTPSSharePoint Portal Server
443TCPRPC over HTTPSExchange Server 2003
445TCPSMBFax サービス
445TCPSMB印刷スプーラー
445TCPSMBServer
445TCPSMBリモート プロシージャ コール ロケーター
445TCPSMB分散ファイル システム
445TCPSMBライセンス ログ サービス
445TCPSMBNet Logon
464UDPKerberos Password V5Kerberos キー配布センター
464TCPKerberos Password V5Kerberos キー配布センター
500UDPIPSec ISAKMPローカル セキュリティ機関
515TCPLPDTCP/IP プリント サーバー
548TCPMacintosh 用ファイル サーバーMacintosh 用ファイル サーバー
554TCPRTSPWindows Media サービス
563TCPNNTP over SSLネットワーク ニュース転送プロトコル
593TCPRPC over HTTP エンドポイント マッパーリモート プロシージャ コール
593TCPRPC over HTTPSExchange Server
636TCPLDAP SSLローカル セキュリティ機関
636UDPLDAP SSLローカル セキュリティ機関
993TCPIMAP over SSLExchange Server
995TCPPOP3 over SSLExchange Server
1067TCPInstallation Bootstrap ServiceInstallation Bootstrap protocol server
1068TCPInstallation Bootstrap ServiceInstallation Bootstrap protocol client
1270TCPMOM-EncryptedMicrosoft Operations Manager 2000
1433TCPSQL over TCPMicrosoft SQL Server
1433TCPSQL over TCPMSSQL$UDDI
1434UDPSQL ProbeMicrosoft SQL Server
1434UDPSQL ProbeMSSQL$UDDI
1645UDPレガシ RADIUSインターネット認証サービス
1646UDPレガシ RADIUSインターネット認証サービス
1701UDPL2TPルーティングとリモート アクセス
1723TCPPPTPルーティングとリモート アクセス
1755TCPMMSWindows Media サービス
1755UDPMMSWindows Media サービス
1801TCPMSMQメッセージ キュー
1801UDPMSMQメッセージ キュー
1812UDPRADIUS 認証インターネット認証サービス
1813UDPRADIUS アカウンティングインターネット認証サービス
1900UDPSSDPSSDP Discovery Service
2101TCPMSMQ-DCメッセージ キュー
2103TCPMSMQ-RPCメッセージ キュー
2105TCPMSMQ-RPCメッセージ キュー
2107TCPMSMQ-Mgmtメッセージ キュー
2393TCPOLAP Services 7.0SQL Server: Downlevel OLAP Client Support
2394TCPOLAP Services 7.0SQL Server: Downlevel OLAP Client Support
2460UDPMS TheaterWindows Media サービス
2535UDPマルチキャスト アドレス動的クライアント割り当てプロトコル (MADCAP)DHCP サーバー
2701TCPSMS リモート コントロール (コントロール)SMS リモート コントロール エージェント
2701UDPSMS リモート コントロール (コントロール)SMS リモート コントロール エージェント
2702TCPSMS リモート コントロール (データ)SMS リモート コントロール エージェント
2702UDPSMS リモート コントロール (データ)SMS リモート コントロール エージェント
2703TCPSMS リモート チャットSMS リモート コントロール エージェント
2703UPDSMS リモート チャットSMS リモート コントロール エージェント
2704TCPSMS リモート ファイル転送SMS リモート コントロール エージェント
2704UDPSMS リモート ファイル転送SMS リモート コントロール エージェント
2725TCPSQL Analysis ServicesSQL Analysis Server
2869TCPUPNPユニバーサル プラグ アンド プレイ サービス
2869TCPSSDP イベント通知SSDP Discovery Service
3268TCPグローバル カタログ サーバーローカル セキュリティ機関
3269TCPグローバル カタログ サーバーローカル セキュリティ機関
3343UDPクラスター サービスクラスター サービス
3389TCPターミナル サービスNetMeeting リモート デスクトップ共有
3389TCPターミナル サービスターミナル サービス
3527UDPMSMQ-Pingメッセージ キュー
4011UDPBINLリモート インストール
4500UDPNAT-Tローカル セキュリティ機関
5000TCPSSDP レガシ イベント通知SSDP Discovery Service
5004UDPRTPWindows Media サービス
5005UDPRTCPWindows Media サービス
5722TCPRPC分散ファイル システム レプリケーション
6001TCPインフォメーション ストアExchange Server 2003
6002TCPDirectory ReferralExchange Server 2003
6004TCPDSProxy/NSPIExchange Server 2003
42424TCPASP.NET セッション状態ASP.NET 状態サービス
51515TCPMOM-ClearMicrosoft Operations Manager 2000
1024-65535TCPRPCランダムに割り当てられた非特権 TCP ポート

: ポート 5722 は 2008 ドメイン コントローラーまたは 2008 R2 ドメイン コントローラーでのみ使用します。