缺少语句编译错误
㈠ 编译错误 缺少语句结束
'由于不知道题主的窗体是如何设计的,想执行什么,大致猜测代码要做如下修改:
PrivateSubCmdQC_Click()
Me.CLIENT="公司名"'COMPANYNAME
KHMC=Null
Me.CNZ=l"装箱标识"'MARKNUMBERS
CNZBH=Null
Me.CONTAINER="集装箱号码"'NUMBER
GH=Null
Me.BOOKING="参考号码"'REF
CH=Null
'这一句猜不出要表达啥?也许是启程日期吧Me.VESSELDATE
YJCQ=Null
Me.VESSEL="船名"'NAME
CMC=Null
Me.HLZCT.Requery
EndSub
㈡ 编译错误:缺少:语句结束 语法错误
应该在&运算符的左右加上空格,为了能看到程序的运行结果,建议把第一行改为Private Sub Form_click()
㈢ 编译器错误 错误 '800a0400' 缺少语句,不知道哪错了
缺少一个与最后end if 对应的if。
你把最后的end if 去掉试试。
------
去掉end if 怎么显示不正常?看了看没处加if,就是这个end if 的原因。
㈣ 程序编译错误不知道是什么原因
不能通编译过的程序实际上还不是合法的程序,因为它不满足C语言对于程序的基本要求。
检查语法错误的第一要义:集中力量检查系统发现的第一个错误,弄清并改正它。
在编译过程中系统发现的错误主要有两类:基本语法错误和上下文关系错误。这些错误都在表面上,可以直接看得见。也是比较容易弄清,比较容易解决的。关键是需要熟悉C语言的语法规定和有关上下文关系的规定,按照这些规定检查程序正文,看看存在什么问题。
编译中系统发现错误都能指出错误的位置。不同系统在这方面的能力有差异,在错误定位的准确性方面有所不同。有的系统只能指明发现错误的行,有的系统还能够指明行内位置。
一般说,系统指明的位置未必是真实错误出现的位置。通常情况是错误出现在前,而系统发现错误在后,因为它检查到实际错误之后的某个地方,才能确认出了问题,因此报出错误信息。要确认第一个错误的原因,应该从系统指明的位置开始,在那里检查,并从那里开始向前检查。
系统的错误信息中都包含一段文字,说明它所认定的错误原因。应该仔细阅读这段文字,通常它提供了有关错误的重要线索。但也应该理解,错误信息未必准确,有时错误确实存在,但系统对错误的解释也可能不对。也就是说,在查找错误时,既要重视系统提供的错误信息,又不应为系统的错误信息所束缚。
发现了问题,要想清楚错误的真正原因,然后再修改。不要蛮干。在这时的最大诱惑就是想赶快改,看看错误会不会消失。但是蛮干的结果常常是原来的错误没有弄好,又搞出了新的错误。
另一个值得注意的地方:程序中的一个语法错误常常导致编译系统产生许多错误信息。如果你改正了程序中一个或几个错误,下面的弄不清楚了,那么就应该重新编译。改正一处常常能消去许多错误信息行。
解决语法错误
常见语法错误:
1)缺少语句、声明、定义结束的分号。
2)某种括号不配对。C语言中括号性质的东西很多,列举如下:
( ), [ ], { }, ' ', " ", /* */
在不同位置的括号不配对可能引起许多不同的错误信息。
3)关键字拼写错误。
较难认定的典型错误:
1)宏定义造成的错误。这种东西不能在源程序文件中直接看到,是在宏替换之后出现的。常见的能引起语法错误的宏定义错误:宏定义中有不配对的括号,宏定义最后加了不该有的分号,……
解决上下文关系错误
1)变量没有定义。产生这个问题的原因除了变量确实没有大意外,还可能是变量的拼写错误,变量的作用域问题(在不能使用某个变量的地方想去用那个变量)。
2)变量重复定义。例如在同一个作用域里用同样名字定义了两个变量,函数的局部变量与参数重名等。
3)函数的重复定义。可能是用同一个名字定义了两个不同的函数。或者是写出的函数原型在类型上与该函数的定义不相符。有时没有原型而直接写函数调用也可能导致这种错误信息,因为编译程序在遇到函数调用而没有看到函数原型或函数定义时,将给函数假定一个默认原型。如果后来见到的函数定义与假定不符,就会报告函数重复定义错误。
4)变量类型与有关运算对运算对象或者函数对参数的要求不符。例如有些运算(如 %)要求整数参数,而你用的是某种浮点数。
5)有些类型之间不能互相转换。例如你定义了一个结构变量,而后要用它给整数赋值。系统容许的转换包括:数值类型之间的转换,整数和指针之间的转换,指针之间的转换。其余转换(无论是隐含的,还是写出强制)都不允许。参见《C语言程序设计》(K&R)197-199页。
如何看待编译警告
当编译程序发现程序中某个地方有疑问,可能有问题时就会给出一个警告信息。警告信息可能意味着程序中隐含的大错误,也可能确实没有问题。对于警告的正确处理方式应该是:尽可能地消除之。对于编译程序给出的每个警告都应该仔细分析,看看是否真的有问题。只有那些确实无问题的警告才能放下不管。
注意:经验表明,警告常常意味着严重的隐含错误。
常见警告:
1)(局部自动)变量没有初始化就使用。如果对局部指针变量出现这种情况,后果不堪设想。对于一般局部自动变量,没有初始化就使用它的值也不会是有意义的。
2)在条件语句或循环语句的条件中写了赋值。大部分情况是误将 == (等于判断)写成 = 了。这是很常见的程序错误,有些编译程序对这种情况提出警告。
㈤ VAB数据汇总编译错误缺少语句结束的问题
第一行有错,缺少空格:
Sub合并当前目录下所有工作簿的全部工作表()
需要修改为:
Sub 合并当前目录下所有工作簿的全部工作表()
最后一行有错,是两行,多了引号:
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示" "End" Sub
需要修改为:
MsgBox "共合并了" & Num & "个工作薄下的全部工作表。如下:" & Chr(13) & WbN, vbInformation, "提示"
End Sub
好像错误还很多,遇到有错的,请粘贴红色的错误行。(一次粘贴一个红色行,文本方式,图片没办法改,文本太多了不好定义错误的地方)
㈥ 编译:错误:缺少语句结束
倒数第二句 KILLIE = Ture 有误,应该 KILLIE = True
用法有误:GetClassName = Left(str5, InStr(1, str5, Chr(0)) - 1)
Public Function KILLIE(ByVal hwnd As Long, ByVal _
lParam As Long) As Boolean
Dim classname As String
Dim str5 As String
Dim len5 As Long, i As Long
str5 = String(255, 0)
len5 = 256
GetClassName hwnd, str5, 256
classname = Left(str5, InStr(1, str5, Chr(0)) - 1)
Debug.Print classname
If classname = "IEFrame" Then
PostMessage hwnd, WM_CLOSE, 0&, 0&
End If
KILLIE = True
End Function
㈦ 打开我的电脑图标!显示缺少语句 编译器错误
这个是脚本病毒。
你到网上下载一个名叫:1kb文件夹快捷方式病毒清除附件的工具运行一下就ok了。
我不能给你贴网址,否则网络不让发表回答。
祝你好运!
㈧ 无法打来我的电脑,出现编译器错误,800A0400 缺少语句,怎么解决啊
可能是系统文件错误,windows采用的即时编译器在运行时错误会产生这种现象,windows采用的时2次编译,在运行时还会编译一下程序,你可能需要把.net
framework
重装一下,入宫不行我就没办法了,可能就要重装系统了
㈨ VB编译错误 缺少语句结束怎么办
1.缺少declare,正确的描述如下
private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
2 declare的说明
Declare 语句
用于在模块级别中声明对动态链接库 (DLL) 中外部过程的引用。
语法 1
[Public | Private] DeclareSubnameLib"libname" [Alias"aliasname"] [([arglist])]
语法 2
[Public | Private] DeclareFunctionnameLib"libname" [Alias"aliasname"] [([arglist])] [Astype]
Declare 语句的语法包含下面部分:
部分 描述
Public 可选的。用于声明对所有模块中的所有其它过程都可以使用的过程。
Private 可选的。用于声明只能在包含该声明的模块中使用的过程。
Sub 可选的(但Sub 或 Function 二者需选其一)。表示该过程没有返回值。
Function 可选的(但Sub 或 Function 二者需选其一)。表示该过程会返回一个可用于表达式的值。
name 必需的。任何合法的过程名。注意动态链接库的入口处(entry points)区分大小写。
Lib 必需的。指明包含所声明过程的动态链接库或代码资源。所有声明都需要Lib 子句。
libname 必需的。包含所声明的过程动态链接库名或代码资源名。
Alias 可选的。表示将被调用的过程在动态链接库 (DLL)
中还有另外的名称。当外部过程名与某个关键字重名时,就可以使用这个参数。当动态链接库的过程与同一范围内的公用变量、常数或任何其它过程的名称相同时,也可以使用
Alias。如果该动态链接库过程中的某个字符不符合动态链接库的命名约定时,也可以使用 Alias。
aliasname 可选的。动态链接库或代码资源中的过程名。如果首字符不是数字符号 (#),则
aliasname 是动态链接库中该过程的入口处的名称。如果首字符是
(#),则随后的字符必须指定该过程的入口处的顺序号。
arglist 可选的。代表调用该过程时需要传递的参数的变量表。
type 可选的。Function 过程返回值的数据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)或 Variant,用户定义类型,或对象类型。
arglist 参数的语法以及语法各个部分如下:
[Optional] [ByVal | ByRef] [ParamArray] varname[( )] [Astype]
㈩ 求教编译器错误 800a0400'缺少语句
ActiveServerPages,ASP0126(0x80004005)-->找不到包含文件 (0x80040E21)-->sql语句出错(数据类型不匹配或表名(字段名)错误或表处于编辑状态,或表不存在于conn打开的数据库中) (0x80040E14)-->sql语句出错(字段名错误,或数据类型不匹配) (0x80040E07)-->sql语句出错(要插入或更新的字段的类型与变量数据类型不匹配) (0x80040E57)-->sql语句出错(要插入或更新的数据溢出) (0x80040E10)-->sql语句出错(update字段名或要更新的数据类型错误) (0x80004005)-->sql语句出错(要插入或更新的字段的数值不能为空值) (0x80004005) -->打开数据库出错,没有在指定目录发现数据库 (0x80040E37)-->没有发现表 MicrosoftVBscript运行时错误(0x800A000D)-->错误引用rs变量(rs对像已关闭或未定义) MicrosoftVBscript运行时错误(0x800A01C2)-->vbscript脚本错误(vbscript语句出错) MicrosoftVBscript运行时错误(0x800A0006)-->vbscript脚本错误(溢出错误) MicrosoftVBscript编译器错误(0x800A040E)-->缺少loop MicrosoftVBscript编译器错误(0x800A03EA)-->缺少if或endif MicrosoftVBscript编译器错误(0x800A03EE)--> 语句未结束(缺少")") MicrosoftVBscript编译器错误(0x800A03F6)-->if语句出错(缺少endif) MicrosoftVBscript运行时错误(0x800A005B)-->缺少set MicrosoftVBscript运行时错误(0x800A0005)-->变量未定义 MicrosoftVBscript编译器错误(0x800A03F9)-->if语句缺少then MicrosoftVBscript编译器错误(0x800A0411)-->dim语句定义错误 MicrosoftVBscript编译器错误(0x800A0408)-->sql语句错误(?????????????????) Microsoft VBScript 运行时错误 (0x800A01B6)错误原因:set rs=server.create......你少了 set ADODB.Recordset(0x800A0BB9)-->sql语句出错(sql语句或conn语句未定义或对一个rs属性进行赋值时发生错误) ADODB.Recordset(0x800A0CC1)-->rs对像出错(rs对像本身不存在或错误地引用了一个不存在的字段名) ADODB.Recordset(0x800A0BCD)-->rs对像出错(记录集中没有记录却对记录集进行操作) ADODB.Recordset(0x800A0E78)-->rs对像出错(记录集不存在,缺少rs.open语句) ADODB.Recordset(0x800A0CC1) -->rs对像出错(引用了一个不存在的字段名) ADODB.Recordset(0x800A0E7D)-->conn定义错误 ADODB.Recordset(0x800A0CB3)-->数据库以只读方式打开,无法更新数据 如果 VBScript 语句结构违反了一个或多个 VBScript 脚本语言语法规则,就会产生 VBScript 语法错误。 错误通常在执行程序前,编译程序时产生。 以下是53个语法错误: 错误编号 描述 十进制 十六进制 说明 1001 800A03E9 内存不足 1002 800A03EA 语法错误 1003 800A03EB 缺少逗:地 1005 800A03ED 需要 '(' 1006 800A03EE 需要 ')' 1007 800A03EF 缺少逗]地 1010 800A03F2 需要标识符 1011 800A03F3 需要 '=' 1012 800A03F4 需要 'If' 1013 800A03F5 需要 'To' 1014 800A03F6 需要 'End' 1015 800A03F7 需要 'Function' 1016 800A03F8 需要 'Sub' 1017 800A03F9 需要 'Then' 1018 800A03FA 需要 'Wend' 1019 800A03FB 需要 'Loop' 1020 800A03FC 需要 'Next' 1021 800A03FD 需要 'Case' 1022 800A03FE 需要 'Select' 1023 800A03FF 需要表达式 1024 800A0400 需要语句 1025 800A0401 需要语句的结束 1026 800A0402 需要整数常数 1027 800A0403 需要 'While' 或 'Until' 1028 800A0404 需要 'While,'、 'Until,' 或语句未结束 1029 800A0405 需要 'With' 1030 800A0406 标识符太长 1031 800A0407 无效的数 1032 800A0408 无效的字符 1033 800A0409 未结束的串常量 1034 800A040A 未结束的注释 1037 800A040D 无效使用关键字 'Me' 1038 800A040E 'loop' 没有 'do' 1039 800A040F 无效 'exit' 语句 1040 800A0410 无效 'for' 循环控制变量 1041 800A0411 名称重定义 1042 800A0412 必须为行的第一个语句 1043 800A0413 不能赋给非Byval参数 1044 800A0414 调用 Sub 时不能使用圆括号 1045 800A0415 需要文字常数 1046 800A0416 需要 'In' 1047 800A0417 需要 'Class' 1048 800A0418 必须在一个类的内部定义 1049 800A0419 在属性声明中需要 Let , Set 或 Get 1050 800A041A 需要 'Property' 1051 800A041B 参数数目必须与属性说明一致 1052 800A041C 在类中不能有多个缺省的属性/方法 1053 800A041D 类初始化或终止不能带参数 1054 800A041E Property Let 或 Set 至少应该有一个参数 1055 800A041F 不需要的 'Next' 1056 800A0420 只能在 ‘Property’ 或 ’Function’ 或 ’Sub’ 上指定 ’Default’ 1057 800A0421 说明 'Default' 必须同时说明 'Public' " 1058 800A0422 只能在 Property Get 中指定 'Default' VBScript 运行时错误 如果 VBScript 脚本执行系统无法实施的操作,则会产生 VBScript 运行时错误。只有在运行脚本、为变量表达式赋值或 分配内存时,才会产生 VBScript 运行时错误。 以下是65个运行时错误: 错误编号 描述 十进制 十六进制 说明 5 800A0005 无效过程调用或参数 6 800A0006 溢出 7 800A0007 内存不足 9 800A0009 下标越界 10 800A000A 该数组为定长的或临时被锁定 11 800A000B 被零除 13 800A000D 类型不匹配 14 800A000E 字符串空间溢出 17 800A0011 无法执行请求的操作 28 800A001C 堆栈溢出 35 800A0023 未定义 Sub 或 Function 48 800A0030 加载 DLL 错误 51 800A0033 内部错误 52 800A0034 坏文件名或数 53 800A0035 文件未找到 54 800A0036 坏文件模式 55 800A0037 文件已经打开 57 800A0039 设备I/O错误 58 800A003A 文件已经存在 61 800A003D 磁盘空间已满 62 800A003E 输入超出文件尾 67 800A0043 文件太多 68 800A0044 设备不可用 70 800A0046 权限禁用 71 800A0047 磁盘未准备好 74 800A004A 不能用不同的驱动器重新命名 75 800A004B 路径/文件访问错误 76 800A004C 路径未找到 91 800A005B 未设置对象变量 92 800A005C For 循环未初始化 94 800A005E 非法使用 Null 322 800A0142 不能建立所需临时文件 424 800A01A8 需要对象 429 800A01AD ActiveX 部件无法创建对象 430 800A01AE 类不支持自动化 432 800A01B0 在自动化操作中未找到文件名或类名 438 800A01B6 对象不支持该属性或方法 440 800A01B8 Automation错误 445 800A01BD 对象不支持此操作 446 800A01BE 对象不支持指定的参数 447 800A01BF 对象不支持当前的区域设置 448 800A01C0 未找到命名参数 449 800A01C1 参数不可选 450 800A01C2 错误的参数个数或无效的参数属性值 451 800A01C3 对象不是一个集合 453 800A01C5 指定的dll函数未找到 455 800A01C7 代码源锁错误 457 800A01C9 这个键已经是本集合的一个元素关联 458 800A01CA 变量使用了一个 VBScript 中不支持的自动化(Automation)类型 462 800A01CE 远程服务器不存在或不能访问 481 800A01E1 无效图片 500 800A01F4 变量未定义 501 800A01F5 违法的分配 502 800A01F6 脚本对象不安全 503 800A01F7 对象不能安全初始化 504 800A01F8 对象不能安全创建 505 800A01F9 无效的或不合格的引用 506 800A01FA 类未被定义 507 800A01FB 发生异常 5016 800A1398 需要正则表达式对象 5017 800A1399 正则表达式中的语法错误 5018 800A139A 错误的数量词 5019 800A139B 在正则表达式中需要 ']' 5020 800A139C 在正则表达式中需要 ')' 5021 800A139D 字符集越界 32811 800A802B 元素未找到