Springen naar inhoud


- - - - -
VB6

Kan De Lege Rij Niet Invoegen. Er Moet Minimaal Één Kolomwaarde Zijn Ingesteld (Melding)



  • Log in a.u.b. om te beantwoorden
Er zijn 1 reacties in dit onderwerp

#1 Marc_DV

Marc_DV

    Starting Developer

  • Leden
  • 18 berichten
    Laatst bezocht 31 okt 2022 18:46

Geplaatst op 31 oktober 2022 - 16:54

Beste,

Ik heb een probleem met de melding "Kan de lege rij niet invoegen. Er moet minimaal één kolomwaarde zijn ingesteld" in de volgende code :

De eerste kolommen worden weggeschreven in de DB. Een volgende rij aanmaken met .addnew lukt niet.



Code:
Function Postprocessor()
If rs_MySQL_01.State <> adStateClosed Then Call rs_MySQL_01.Close
Set rs_MySQL_01 = Nothing

If rs_MySQL_02.State <> adStateClosed Then Call rs_MySQL_02.Close
Set rs_MySQL_02 = Nothing
If rs_MSExcel_01.State <> adStateClosed Then Call rs_MSExcel_01.Close
Set rs_MSExcel_01 = Nothing

If rs_MSExcel_02.State <> adStateClosed Then Call rs_MSExcel_02.Close
Set rs_MSExcel_02 = Nothing

' DB Project DATA

strSQL_02 = "SELECT * FROM " & Setvalue(LCase(Form_100.LBLImport.Caption))
rs_MySQL_02.Open strSQL_02, cnn_MySQL_02, adOpenDynamic, adLockOptimistic

	 TmpInput_1 = rs_MySQL_02.RecordCount
	 Debug.Print "DB Project DATA: " & TmpInput_1

' Import Bestand DATA

strXLS_02 = "SELECT * FROM [" & Form_100.CMBSheets.Text & "]"
rs_MSExcel_02.Open strXLS_02, cnn_MSExcel_02, adOpenStatic, adLockPessimistic


	 TmpInput_2 = rs_MSExcel_02.RecordCount
	 Debug.Print "Import bestand DATA: " & TmpInput_2

' Import Bestand HEADERS

Set rs_MSExcel_01 = cnn_MSExcel_01.OpenSchema(adSchemaColumns, Array(Empty, Empty, Form_100.CMBSheets.Text, Empty))
		
	 TmpInput_3 = rs_MSExcel_01.RecordCount
	 TmpInput_4 = rs_MSExcel_01.Fields.Count
	 Debug.Print "Import bestand HEADERS: " & TmpInput_3 & " - " & TmpInput_4

' Postprocessing

rs_MSExcel_02.AbsolutePosition = 2

Do While Not rs_MSExcel_02.EOF
	
	 rs_MySQL_02.AddNew
	
		 Do While Not rs_MSExcel_01.EOF
				
			 strSQL_01 = "SELECT * FROM postprocessor WHERE post_field = '" & LCase(rs_MSExcel_01.Fields.Item("COLUMN_NAME").Value) & "' AND post_name = '" & Form_100.LBLImport.Caption & "'"
			 Set rs_MySQL_01 = cnn_MySQL_01.Execute(strSQL_01)
			
			 TmpInput = Val(rs_MSExcel_01.Fields("ORDINAL_POSITION").Value) - 1
			
			 'Debug.Print rs_MySQL_01.Fields.Item("Synkrino_field").Value
			 'Debug.Print LCase(rs_MSExcel_01.Fields.Item("COLUMN_NAME").Value)
			
			 If IsNull(rs_MSExcel_02.Fields(TmpInput).Value) Or (rs_MSExcel_02.Fields(TmpInput).Value) = "" Then
			
				 TempInput = "-"
				
				 Else
				
				 TempInput = rs_MSExcel_02.Fields(TmpInput).Value
				
			 End If
			
			 'Debug.Print TempInput
		
			 rs_MySQL_02.Fields(Setvalue(rs_MySQL_01!synkrino_field)) = TempInput
			 rs_MySQL_02.Update
			
			 rs_MSExcel_01.MoveNext
			 rs_MySQL_01.MoveNext
			
		 Loop
		
	 rs_MSExcel_02.MoveNext

Loop
	
	
rs_MySQL_02.Close
rs_MSExcel_02.Close
rs_MSExcel_01.Close
rs_MySQL_01.Close

End Function



#2 Marc_DV

Marc_DV

    Starting Developer

  • Leden
  • 18 berichten
    Laatst bezocht 31 okt 2022 18:46

Geplaatst op 31 oktober 2022 - 18:47

Opgelost !! Code:
rs_MSExcel_01.MoveFirst

vergeten.





Ook met taq VB6 voorzien

0 gebruiker(s) lezen dit onderwerp

0 lid(leden), 0 bezoeker(s), 0 anonieme gebruikers

Inloggen


[VB6] Untitled 1

Met dank aan Jürgen voor de jarenlange inzet van visualbasic.be (anno dec 2000)
Met dank aan Mike en Ronneke voor de jarenlange inzet van vbib.be (anno dec 2010)
Met dank aan PascalBianca voor de jarenlange inzet van vbib.be (anno dec 2016)