1. 程式人生 > >VBA-資料庫建立,資料表建立

VBA-資料庫建立,資料表建立

1.首先我們要判斷資料庫是否存在,需要引用一個類“Microsoft ADO Ext.6.0 for DDL and Security”,用其catalog 物件來判斷資料庫是否存在,如果不存在,直接建立資料庫和資料表,如果存在則刪除

Option Explicit
Sub shifuchunzai()
    Dim con As New ADODB.Connection
    Dim mycat As New ADOX.Catalog
    Dim mydata As String
    Dim sql As String
    mydata = ThisWorkbook.Path & "\成績管理.accdb" '指定資料庫名稱
    Dir (mydata) 'go,去找括號裡的資料庫
   ' MsgBox Dir(mydata)
   '利用dir 函式可以判斷某個檔案是否存在
    If Len(Dir(mydata)) > 0 Then
        MsgBox "資料庫已存在"
       ' kill mydata '刪除資料庫
        Exit Sub
    End If
    mycat.Create "provider=microsoft.ace.oledb.12.0;data source=" & mydata
    With con
        .Provider = "microsoft.ace.oledb.12.0"
        .Open mydata
    End With
    '建立資料表的SQL命令
    'create table 表名(欄位 型別(寬度)約束條件)
    sql = "create table 期中成績(學號 text(10) not null," _
        & " 姓名 text(8) not null,性別 text(1) not null," _
        & " 班級 text(8) not null,語文 single not null," _
        & " 數學 single not null,英語 single not null," _
        & " 物理 single not null,化學 single not null," _
        & " 生物 single not null,總分 single not null)"
     con.Execute sql
     MsgBox "資料庫建立成功", vbInformation, "建立資料庫"
     con.Close
     Set con = Nothing
     Set mycat = Nothing
     
    
End Sub

2.在已有的資料庫中建立表格以下有兩種方法,一種是用command方法建立,一種是用SQL語句建立

Option Explicit
Sub 利用command物件建立表()
    On Error Resume Next
    Dim mycmd As New ADODB.Command
    Dim mycat As New ADOX.Catalog
    Dim mydata As String
    Dim mytable As String
    Dim sql As String
    mydata = ThisWorkbook.Path & "\成績管理.accdb"
    mytable = "期末成績"
    '建立資料庫連線
    mycat.ActiveConnection = "provider=microsoft.ace.oledb.12.0;data source=" & mydata
    '刪除已存在的同名數據表
    mycat.Tables.Delete mytable
    '設定資料庫連線,方便接下來建立資料表
    Set mycmd.ActiveConnection = mycat.ActiveConnection
    sql = "create table 期末成績(學號 text(10) not null," _
        & " 姓名 text(8) not null,性別 text(1) not null," _
        & " 班級 text(8) not null,語文 single not null," _
        & " 數學 single not null,英語 single not null," _
        & " 物理 single not null,化學 single not null," _
        & " 生物 single not null,總分 single not null)"
    '利用command 物件的execute 方法執行命令
    With mycmd
        .CommandText = sql
        .Execute , , adCmdText '表示執行一個文字字串命令
    End With
    MsgBox "資料表建立成功", vbInformation, "建立資料表"
    Set mycmd = Nothing
    Set mycat = Nothing
    
End Sub
Sub 利用SQL語言建立資料表()
    Dim con As New ADODB.Connection
    Dim mydata As String
    Dim mytable As String
    Dim sql As String
    mydata = ThisWorkbook.Path & "\成績管理.accdb"
    mytable = "期末成績"
    '建立資料庫連線
    With con
        .Provider = "microsoft.ace.oledb.12.0"
        .Open mydata
    End With
    '刪除已有的同名數據表:drop table 表名
    sql = "drop table " & mytable '注意空格
    con.Execute sql
    '設定建立資料標的SQL語句
    sql = "create table 期末成績(學號 text(10) not null," _
        & " 姓名 text(8) not null,性別 text(1) not null," _
        & " 班級 text(8) not null,語文 single not null," _
        & " 數學 single not null,英語 single not null," _
        & " 物理 single not null,化學 single not null," _
        & " 生物 single not null,總分 single not null)"
    '利用connection物件的execute 方法執行命令
    con.Execute sql
    con.Close
    Set con = Nothing
    MsgBox "資料表建立成功!", vbInformation, "建立資料表"
    

End Sub

相關推薦

VBA-資料庫建立資料建立

1.首先我們要判斷資料庫是否存在,需要引用一個類“Microsoft ADO Ext.6.0 for DDL and Security”,用其catalog 物件來判斷資料庫是否存在,如果不存在,直接建立資料庫和資料表,如果存在則刪除 Option Explicit Sub

oracle資料庫空間使用者許可權分割槽建立基礎知識(一

--sys管理員使用者登入  conn sys/222818 as sysdba alter user Libaobao account lock;--解鎖新建使用者 alter user Libaobao account unlock; --鎖定新建使用者 --刪除該新建使用者 drop user

資料庫資料建立索引的原則

資料庫建立索引的原則  1,確定針對該表的操作是大量的查詢操作還是大量的增刪改操作。  2,嘗試建立索引來幫助特定的查詢。檢查自己的sql語句,為那些頻繁在where子句中出現的欄位建立索引。  3,嘗試建立複合索引來進一步提高系統性能。修改複合索引將消耗更長時間,

sqlserver資料庫 學生課程表成績,建立語句。

為了方便練習相應語句,寫下此博文,用於快速建立一個簡單的資料庫。   create table Student (     Sno char(10)primary key,     Sname char(10) unique,  

資料庫建立索引、資料建立規則、備用欄位 / 保留欄位 / 預留欄位

資料庫建立索引 資料庫、資料表建立索引的原則 資料庫建立索引的原則 1,確定針對該表的操作是大量的查詢操作還是大量的增刪改操作。 2,嘗試建立索引來幫助特定的查詢。檢查自己的sql語句,為那些頻繁在where子句中出現的欄位建立索引。 3,嘗試建立複合索引來進一步提高系統性能。修改複合

oracle建立資料之前如果存在資料就刪除之後建立資料

declare   i integer;   begin   select count(*) into i from user_tables where table_name = 'YY_TEST'

Mysql資料庫亂碼問題(資料庫連結、資料庫格式、資料列的字符集都是UTF8但還是會報錯的解決方法)

在做專案的時候遇到一個問題。插入資料的時候中文出現亂碼問題。檢視程式碼中與資料庫的連結,已經設定了UTF-8的編碼,檢視資料庫,資料庫格式也是UTF-8格式,檢視資料表的列,屬性也是UTF-8,檢視程式碼的編碼格式也是UTF-8,但是在插入資料的時候中文還是會出現亂碼問題。 最

mysql中為使用者設定資料庫資料欄位(列)的訪問許可權

1、mysql中對指定使用者,授予某些資料庫,資料表或者欄位訪問許可權 語法: GRANT PRIVILEGES ON DATA.TABLE TO USERS; 溫馨提示: 授權後可以使用2中命令進行使用者許可權許可權,也可以直接重啟mysql程序方式進行許可權重新整理。 A

Mysql資料庫的基本操作--資料庫資料資料的基本操作

- -資料庫的操作 連結資料庫:mysql -u使用者名稱 -p 密碼 退出資料庫:exit, quit, ctrl+d 檢視所有的資料庫:show databases; (注意命令後面要加分號 ;) 顯示時間:select now(); 顯示資料庫版

MySQL 資料建立及管理

use stuinfo; -- 指定當前資料庫 CREATE table if not exists student1( -- 建立資料表student1 sNo char(10) not NULL, sName varchar(20) not NULL, sex char(2), birthda

統計各個資料庫的各個資料的總數然後寫入到excel中

package com.fline.aic.excel; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException

資料庫語句增加資料查詢資料

create table student (   id number(10,0) not null,   uname varchar2(255 char),   pword varchar2(255 char),   primary key (id) ); i

solr5.5之從資料庫中匯入資料建立索引

前面已經介紹了solr-5.5.0的安裝與部署,接下來我將分享solr-5.5.0資料匯入之從資料庫中匯入資料並建立索引的例子。由於本人也是剛剛接觸solr,不足之處,請大家多多見諒。solr和lucene版本更新太快了,版本之間的差異十分大。比如之前的版本中,在core中

千萬級別資料建立索引

業務背景 最近一個開發維護的公眾號管理系統使用者表(user_info)資料已經達到15,000k了,而此時有一個業務場景需要將公眾號的使用者資訊重新同步一次,且後臺原有過針對單個公眾號的使用者同步,但是已經非常難以使用,因為同步時間太長了,以前的同步使用者方

MYSQL資料庫資料簡單操作(二)

資料型別 整形 TINTINT 1bt SMALLINT 2bt MEDIUMINT 3bt INT 4bt BIGINT 8bt 浮點型 FLOAT(8,2) 總共8位2位小數 4bt DOUBLE 8bt 字元型 CHAR固定位數空格

hive根據現有資料建立分割槽,進行動態或靜態分割槽插入資料

1:現有資料表結構定義: CREATE TABLE `tab_user`( `name` string, `age` int, `sex` string, `addr` string) ROW FORMAT DELIMITED FIELDS TE

PHP建立SqlLite資料並讓ID自增

<?php class MyDB extends SQLite3 { function __construct() { $this->open('test.db'); } } $db = new MyDB(); if(!$db){ echo $db->

資料庫觸發器(建-建立觸發器)

if exists (select *from sysdatabases where name='TRI_school') drop database TRI_school create database TRI_school on primary (

Elasticsearch+Kettle spoon:實現索引自動按月建立資料插入到指定路由

背景    隨著時間的推進,es裡面的索引檔案越來越大。要想保住系統的效率,就必須要分索引、分路由。那麼問題來了,目前專案上採用的是Spoon7.1進行資料更新,這樣就存在以下問題:    1、利用spoon連es時,索引的名稱不支援動態變數?    2、抽取資料時,對es裡

Qt資料庫操作檢測中是否存在某條資料

當向資料庫中新增某條記錄,先檢測一下該記錄是否已經存在。 比如,希望向users表中新增aa使用者,先檢測一下aa使用者是否已經存在。 使用SQL語句 select count(*) form users where name='aa'; 該語句會返回該表中name為‘aa