Una opción sencilla sería no tratarlo como dos números/campos sino como uno mismo y luego a la hora de escribirlo, separarlo.
Si lo piensas bien, el siguiente número del 1999999 es el 2000000. Si partimos de que es un entero donde mantienes ese contador (personalmente usaría un campo identidad de SqlServer) y que recuperas desde código, simplemente jugando un poco con el
ToString lo tendrías.
Te pongo el código en C# de como se haría. El pasarlo a Visual Basic no te tendría que costar mucho:
Código C#:
Ver originalint numeroFactura;
// Obtenemos el valor del numero de la BBDD, en este ejemplo lo ponemos de forma manual
numeroFactura = 1999999;
string idFactura = numeroFactura.ToString("[000-000000]");