小问题,但很急,请高手向助!!!!!

agp 2003-07-01 08:41:52
我想把数据库中一个表的一些记录直接输出到EXCEL模板中(我已经建了一个模板),记录数不到确定有多少.请各位指点
...全文
108 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wynbfqny 2003-07-01
  • 打赏
  • 举报
回复




【VB与数据库应用一例:生成EXCEL表】

这个程序可以将下图表格中(mshflexgrid控件)的数据生成一个excel表,这样可以省去用vb来编写打印排版程序的麻烦。想一想自已动手用vb或delphi写一个像excel的排版功能一样的东东,是多么的恐怖!!。所以,嘿嘿。。






原程序下载:

因为我用的是access2000的样本数据库---northwind.mdb 所以安了office2000的可以下载下面这个:(不代northwind.mdb,下载后请将office2000里那个copy到这个程序的目录中就行)

go.163.com/~chunpeng/project/printexcela.zip

没有northwind.mdb的可以下载这个:

go.163.com/~chunpeng/project/printexcel.zip

高手可以直接看下面,如果用vb做过数据库应用的朋友给点意见,这种方法我曾在多个mis系统中见过,只不过生成的是word文档。这是一种比较典型的方法。

public withevents rs as adodb.recordset

dim conn as adodb.connection

dim mypanel as panel

private sub form_load()

set rs = new adodb.recordset

set conn = new adodb.connection

conn.cursorlocation = aduseclient

conn.open "provider=microsoft.jet.oledb.4.0;data source=" + app.path + "\northwind.mdb;"

rs.open "select *from 产品", conn, adopenstatic, adlockoptimistic

set msgrid1.datasource = rs

statusbar1.panels.clear

set mypanel = statusbar1.panels.add(, "record")

mypanel.autosize = sbrcontents

mypanel.text = "总共有" & " " & rs.recordcount & " " & "条记录"

end sub

private sub form_resize()

with msgrid1

.left = 0

.top = toolbar1.height

.width = me.scalewidth - 10

.height = me.scaleheight - (statusbar1.height + 700)

end with

end sub

private sub print_cmd_click()

form2.show

dim myexcel as new excel.application, i, j, k as integer, col as string
with myexcel

on error goto excle

.application.visible = false

.workbooks.add

’***********画字段************

j = 0

’example: b2 ----g2 ’列 本程序从b列,和第2行开始

for i = 66 to (66 + rs.fields.count - 1) ’从rs中头一个字段到最后一个
col = chr(i) & "2" ’chr(66)就是b

’debug.print col

range(col).select

activecell.formular1c1 = rs.fields(j).name ’

j = j + 1

next i

’****************************

’*************以先横后竖顺序画表***************

k = 0

rs.movefirst

doevents

for j = 3 to 3 + rs.recordcount ’本程序从b3开始,所以用3

k = 0

for i = 66 to (66 + rs.fields.count - 1)

col = chr(i) & cstr(j) ’得到目标表格的值如 c3

range(col).select

activecell.formular1c1 = rs.fields(k)

k = k + 1

next i

on error resume next

form2.probar.value = form2.probar.value + 1

rs.movenext

if rs.eof = true then

unload form2

.application.visible = true

end if

next j

’************************************

end with

exit sub

excle:

msgbox ("您没有安装excle2000,请先安装excel2000")

end sub




摘自:IT365   时间:2001年3月2日



zwbhyy 2003-07-01
  • 打赏
  • 举报
回复
查找的记录数计算出来不就可以了
select count(*) from table where ......
「LLM那些事」系列第 4 篇《上下文窗口的边界》,文章连接:https://blog.csdn.net/houwenjin/article/details/163999753。 演示什么:在「预测」Sheet 的黄色格子里输入一句话(默认「来泡一杯」),四个「模型」——分别只统计最后 1 / 2 / 3 / 4 个字的 n-gram 查表——同时预测下一个字。同一个输入,看的上下文越长,候选越少、预测越确定: ┌────────────────┬──────────┬───────────────┬──────┐ │ 只看最后几个字 │ 用的前缀 │ 候选下一字数 │ 预测 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 1 个 │ 杯 │ 3(茶/子/水) │ 模糊 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 2 个 │ 一杯 │ 2(茶/水) │ 收窄 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 3 个 │ 泡一杯 │ 1(茶) │ 确定 │ ├────────────────┼──────────┼───────────────┼──────┤ │ 4 个 │ 来泡一杯 │ 1(茶) │ 确定 │ └────────────────┴──────────┴───────────────┴──────┘

807

社区成员

发帖
与我相关
我的任务
社区描述
VB 多媒体
社区管理员
  • 多媒体
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧